* Calling/using named babel code blocks
@ 2019-12-18 17:10 Lawrence Bottorff
2019-12-18 18:03 ` Berry, Charles
2019-12-18 18:33 ` John Kitchin
0 siblings, 2 replies; 3+ messages in thread
From: Lawrence Bottorff @ 2019-12-18 17:10 UTC (permalink / raw)
To: emacs-orgmode Mailinglist
[-- Attachment #1: Type: text/plain, Size: 748 bytes --]
I thought I understood "metaprogramming," i.e., creating generic code
blocks that can be called by any other code block regardless of programming
language -- but apparently I don't. I have this
#+name: my-random-gen
#+header: :var n=0 :var lim=0
#+BEGIN_SRC emacs-lisp
(loop repeat n collect (random* lim))
#+END_SRC
and I have the variables initialized to zero. But now I don't know how to
call it with another code block. I've tried various versions of this
#+BEGIN_SRC emacs-lisp
my-random-gen(5 1.0)
#+END_SRC
and this various versions of this
#+BEGIN_SRC emacs-lisp :var results=my-random-gen() :var n=5 :var lim=1.0
results
#+END_SRC
to no avail. What am I missing? How can I actually use, call my-random-gen
in other code blocks?
LB
[-- Attachment #2: Type: text/html, Size: 1367 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Calling/using named babel code blocks
2019-12-18 17:10 Calling/using named babel code blocks Lawrence Bottorff
@ 2019-12-18 18:03 ` Berry, Charles
2019-12-18 18:33 ` John Kitchin
1 sibling, 0 replies; 3+ messages in thread
From: Berry, Charles @ 2019-12-18 18:03 UTC (permalink / raw)
To: Lawrence Bottorff; +Cc: emacs-orgmode Mailinglist
> On Dec 18, 2019, at 9:10 AM, Lawrence Bottorff <borgauf@gmail.com> wrote:
>
> I thought I understood "metaprogramming," i.e., creating generic code blocks that can be called by any other code block regardless of programming language -- but apparently I don't. I have this
>
> #+name: my-random-gen
> #+header: :var n=0 :var lim=0
> #+BEGIN_SRC emacs-lisp
> (loop repeat n collect (random* lim))
> #+END_SRC
>
> and I have the variables initialized to zero. But now I don't know how to call it with another code block. I've tried various versions of this
>
> #+BEGIN_SRC emacs-lisp
> my-random-gen(5 1.0)
> #+END_SRC
>
> and this various versions of this
>
> #+BEGIN_SRC emacs-lisp :var results=my-random-gen() :var n=5 :var lim=1.0
> results
> #+END_SRC
>
> to no avail. What am I missing? How can I actually use, call my-random-gen in other code blocks?
>
Do these help?
#+BEGIN_SRC emacs-lisp :noweb yes
'<<my-random-gen(5, 1.0)>>
#+END_SRC
#+BEGIN_SRC emacs-lisp :var mrg=my-random-gen(5, 1.0)
mrg
#+END_SRC
Chuck
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Calling/using named babel code blocks
2019-12-18 17:10 Calling/using named babel code blocks Lawrence Bottorff
2019-12-18 18:03 ` Berry, Charles
@ 2019-12-18 18:33 ` John Kitchin
1 sibling, 0 replies; 3+ messages in thread
From: John Kitchin @ 2019-12-18 18:33 UTC (permalink / raw)
To: Lawrence Bottorff; +Cc: emacs-orgmode Mailinglist
[-- Attachment #1: Type: text/plain, Size: 1492 bytes --]
I think you want:
#+name: my-random-gen
#+header: :var n=0 :var lim=0
#+BEGIN_SRC emacs-lisp
(loop repeat n collect (random* lim))
#+END_SRC
and this various versions of this
#+BEGIN_SRC emacs-lisp :var results=my-random-gen(n=5, lim=1.0)
results
#+END_SRC
#+RESULTS:
| 0.27765703201293945 | 0.7524830102920532 | 0.854852557182312 |
0.22202050685882568 | 0.604256272315979 |
John
-----------------------------------
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu
On Wed, Dec 18, 2019 at 12:11 PM Lawrence Bottorff <borgauf@gmail.com>
wrote:
> I thought I understood "metaprogramming," i.e., creating generic code
> blocks that can be called by any other code block regardless of programming
> language -- but apparently I don't. I have this
>
> #+name: my-random-gen
> #+header: :var n=0 :var lim=0
> #+BEGIN_SRC emacs-lisp
> (loop repeat n collect (random* lim))
> #+END_SRC
>
> and I have the variables initialized to zero. But now I don't know how to
> call it with another code block. I've tried various versions of this
>
> #+BEGIN_SRC emacs-lisp
> my-random-gen(5 1.0)
> #+END_SRC
>
> and this various versions of this
>
> #+BEGIN_SRC emacs-lisp :var results=my-random-gen() :var n=5 :var lim=1.0
> results
> #+END_SRC
>
> to no avail. What am I missing? How can I actually use, call my-random-gen
> in other code blocks?
>
> LB
>
>
>
[-- Attachment #2: Type: text/html, Size: 2718 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-12-18 18:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-18 17:10 Calling/using named babel code blocks Lawrence Bottorff
2019-12-18 18:03 ` Berry, Charles
2019-12-18 18:33 ` John Kitchin
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).