From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thorsten Jolitz Subject: Re: Include results in a table Date: Tue, 28 Oct 2014 11:44:26 +0100 Message-ID: <8738a8fp85.fsf@gmail.com> References: <544F6B07.6080304@thierry-pelle.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34274) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xj4Ge-0005cy-Ot for emacs-orgmode@gnu.org; Tue, 28 Oct 2014 06:44:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xj4GW-0000fz-5l for emacs-orgmode@gnu.org; Tue, 28 Oct 2014 06:44:48 -0400 Received: from plane.gmane.org ([80.91.229.3]:35824) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xj4GV-0000fv-VX for emacs-orgmode@gnu.org; Tue, 28 Oct 2014 06:44:40 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Xj4GV-0006qc-1C for emacs-orgmode@gnu.org; Tue, 28 Oct 2014 11:44:39 +0100 Received: from e178060153.adsl.alicedsl.de ([85.178.60.153]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 28 Oct 2014 11:44:39 +0100 Received: from tjolitz by e178060153.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 28 Oct 2014 11:44:39 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org abonnements 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