[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Include results in a table
From: |
Thorsten Jolitz |
Subject: |
Re: [O] Include results in a table |
Date: |
Tue, 28 Oct 2014 11:44:26 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
abonnements <address@hidden> writes:
> Hi, thank you for your answer.
>
> Your solution is OK but only for the example I gave (2 or 3
> results). In practice I have about 10 results and the number of them
> may be variable... Furthermore :vars does not work on my version (I
> must use :var x=A :var y=B)...
:vars was just a typo then ....
#+NAME: A
#+BEGIN_SRC emacs-lisp :results raw
(+ 2 2)
#+END_SRC
#+results: A
4
#+NAME: B
#+BEGIN_SRC emacs-lisp :results raw
(/ 2 2)
#+END_SRC
#+results: B
1
#+BEGIN_SRC emacs-lisp
(org-element-map (org-element-parse-buffer) 'src-block
(lambda (--block)
(let ((nm (org-element-property :name --block)))
(when nm
(let ((val (org-element-property :value --block)))
(list nm (eval (car (read-from-string val)))))))))
#+END_SRC
#+results:
| A | 4 |
| B | 1 |
> Ta.
> Thierry
>
> Hello,
>
>> I have somethink like that
>>
>> #+call: gen(A)
>> #+results: A
>> : 10
>>
>> #+call: gen(B)
>> #+results: B
>> : 20
>>
>> Is there a simple mean to aggregate the results in a table, i.e to get
>> | A | 10 |
>> | B | 20 |
>>
>> I think some lisp can do that but as a beginner... but as I want to
>> learn you can suggest a somewhat complicated solution or a simple idea.
>> Thanks.
>
> you could define a 3rd block C that takes the results from block A and B
> as variable via :vars x=A y=B (A and B must be named blocks for this,
> use a #+NAME: A line) and then do (list A x B y) in block C and use the
> :results format that outputs a list as a table (often it is the default,
> otherwise try :results table or so).
--
cheers,
Thorsten