* Passing variables between code blocks
@ 2013-01-24 10:01 Yotam Avital
2013-01-24 13:38 ` Thomas S. Dye
0 siblings, 1 reply; 2+ messages in thread
From: Yotam Avital @ 2013-01-24 10:01 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 815 bytes --]
I want to use org-mode for data analysis for my results. I also want to do
this using small chunks of code blocks for various task. To achieve that. I
need to pass dictionaries (20 entries of lists, each of several hundreds
variables, each is a list by itself). I wanted to do so by the #+CALL
option for example:
* test
#+NAME:test
#+BEGIN_SRC python
vars = dict()
vars[1] = 1
vars[2] = 2
return vars
#+END_SRC
* caller
#+NAME: caller
#+HEADER: :var ins=#+CALL: test()
#+BEGIN_SRC python :results output
print files
#+END_SRC
But I get an error:
File "<stdin>", line 1
files=[1:, 1, 2:, 2]
^
SyntaxError: invalid syntax
Is there a way to pass a dictionary as a variables between blocks then?
--
My other email account has a "professional" signature.
[-- Attachment #2: Type: text/html, Size: 1297 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Passing variables between code blocks
2013-01-24 10:01 Passing variables between code blocks Yotam Avital
@ 2013-01-24 13:38 ` Thomas S. Dye
0 siblings, 0 replies; 2+ messages in thread
From: Thomas S. Dye @ 2013-01-24 13:38 UTC (permalink / raw)
To: Yotam Avital; +Cc: emacs-orgmode
Hi Yatam Avital,
Yotam Avital <yotama9@gmail.com> writes:
> I want to use org-mode for data analysis for my results. I also want to do
> this using small chunks of code blocks for various task. To achieve that. I
> need to pass dictionaries (20 entries of lists, each of several hundreds
> variables, each is a list by itself). I wanted to do so by the #+CALL
> option for example:
>
>
> * test
> #+NAME:test
> #+BEGIN_SRC python
> vars = dict()
> vars[1] = 1
> vars[2] = 2
> return vars
>
> #+END_SRC
>
> * caller
> #+NAME: caller
> #+HEADER: :var ins=#+CALL: test()
> #+BEGIN_SRC python :results output
> print files
>
> #+END_SRC
You have the wrong syntax. There is no need for #+CALL: in this
situation.
See section 14.8.2.1 of the manual:
code block without arguments
a code block name (from the example above), as assigned by #+NAME:, optionally followed by parentheses
#+BEGIN_SRC emacs-lisp :var length=table-length()
(* 2 length)
#+END_SRC
hth,
Tom
--
Thomas S. Dye
http://www.tsdye.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-01-24 13:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-24 10:01 Passing variables between code blocks Yotam Avital
2013-01-24 13:38 ` Thomas S. Dye
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).