babel: accept explicit lists of colnames and/or rownames
* lisp/ob.el (org-babel-pick-name): if colnames or rownames contain a list of names, then use those directly example of using this new feature would be #+begin_src emacs-lisp :var n=10 :colnames '("n" "fn") (defun fib (n) (if (< n 2) 1 (+ (fib (- n 1)) (fib (- n 2))))) (mapcar (lambda (n) (list n (fib n))) (number-sequence 0 n)) #+end_src #+results: | n | fn | |----+----| | 0 | 1 | | 1 | 1 | | 2 | 2 | | 3 | 3 | | 4 | 5 | | 5 | 8 | | 6 | 13 | | 7 | 21 | | 8 | 34 | | 9 | 55 | | 10 | 89 |
This commit is contained in:
parent
9a8a6f8efb
commit
917ad74b58
1 changed files with 12 additions and 7 deletions
19
lisp/ob.el
19
lisp/ob.el
|
@ -827,13 +827,18 @@ names. Note: this function removes any hlines in TABLE."
|
|||
table))
|
||||
|
||||
(defun org-babel-pick-name (names selector)
|
||||
"Select one out of an alist of row or column names."
|
||||
(when names
|
||||
(if (and selector (symbolp selector) (not (equal t selector)))
|
||||
(cdr (assoc selector names))
|
||||
(if (integerp selector)
|
||||
(nth (- selector 1) names)
|
||||
(cdr (car (last names)))))))
|
||||
"Select one out of an alist of row or column names.
|
||||
SELECTOR can be either a list of names in which case those names
|
||||
will be returned directly, or an index into the list NAMES in
|
||||
which case the indexed names will be return."
|
||||
(if (listp selector)
|
||||
selector
|
||||
(when names
|
||||
(if (and selector (symbolp selector) (not (equal t selector)))
|
||||
(cdr (assoc selector names))
|
||||
(if (integerp selector)
|
||||
(nth (- selector 1) names)
|
||||
(cdr (car (last names))))))))
|
||||
|
||||
(defun org-babel-disassemble-tables (vars hlines colnames rownames)
|
||||
"Parse tables for further processing.
|
||||
|
|
Loading…
Reference in a new issue