Function: org-babel-processing-var-to-processing

org-babel-processing-var-to-processing is a byte-compiled function defined in ob-processing.el.gz.

Signature

(org-babel-processing-var-to-processing PAIR)

Documentation

Convert an elisp value into a Processing variable.

The elisp value PAIR is converted into Processing code specifying a variable of the same value.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ob-processing.el.gz
(defun org-babel-processing-var-to-processing (pair)
  "Convert an elisp value into a Processing variable.
The elisp value PAIR is converted into Processing code specifying
a variable of the same value."
  (let ((var (car pair))
        (val (let ((v (cdr pair)))
	       (if (symbolp v) (symbol-name v) v))))
    (cond
     ((integerp val)
      (format "int %S=%S;" var val))
     ((floatp val)
      (format "float %S=%S;" var val))
     ((stringp val)
      (format "String %S=\"%s\";" var val))
     ((and (listp val) (not (listp (car val))))
      (let* ((type (org-babel-processing-define-type val))
	     (fmt (if (eq 'String type) "\"%s\"" "%s"))
	     (vect (mapconcat (lambda (e) (format fmt e)) val ", ")))
	(format "%s[] %S={%s};" type var vect)))
     ((listp val)
      (let* ((type (org-babel-processing-define-type val))
	     (fmt (if (eq 'String type) "\"%s\"" "%s"))
             (array (mapconcat (lambda (row)
				 (concat "{"
					 (mapconcat (lambda (e) (format fmt e))
						    row ", ")
					 "}"))
			       val ",")))
        (format "%S[][] %S={%s};" type var array))))))