ソースを参照

o-b-worg.org: changes to function arguments section

Dan Davison 16 年 前
コミット
f5abc5155a
1 ファイル変更39 行追加6 行削除
  1. 39 6
      org-babel-worg.org

+ 39 - 6
org-babel-worg.org

@@ -246,9 +246,42 @@ it in our output.
     :END:
     In addition to evaluation of code blocks, org-babel allows them to
     be parameterised (i.e. have arguments). Thus source code blocks
-    now have the status of *functions*.
+    now have the status of *functions*. Arguments to code blocks can
+    be used in both functional and scripting mode.
 
-Inputs for fibonacci-seq
+**** Simple example of using a source block as a function
+
+     First let's look at a very simple example. The following source
+     block defines an org-babel function that will square its input.
+
+#+srcname: square(x)
+#+begin_src python
+x*x
+#+end_src
+
+In the org-mode file that looks like this:
+: #+srcname: square(x)
+: #+begin_src python
+: x*x
+: #+end_src
+
+
+Now we use the source block:
+
+: #+lob: square(x=6)
+
+#+lob: square(x=6)
+
+#+resname: square(x=6)
+: 36
+
+**** A more complex example: using an org-table as input
+
+     In this example we're going to define a function to compute a
+     Fibonacci sequence, and we're going to make it take its input
+     from a table in the org-mode buffer.
+
+     Here are the inputs for fibonacci-seq:
 
 #+tblname: fibonacci-inputs
 | 1 | 2 | 3 | 4 |  5 |  6 |  7 |  8 |  9 | 10 |
@@ -260,8 +293,8 @@ in the Org-mode buffer this looks like
 : | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 |
 
 [[http://www.gnu.org/software/emacs/manual/elisp.html][Emacs Lisp]] source code
-#+srcname: fibonacci-seq
-#+begin_src emacs-lisp :var fib-inputs=fibonacci-inputs
+#+srcname: fibonacci-seq(fib-inputs=fibonacci-inputs)
+#+begin_src emacs-lisp
   (defun fibonacci (n)
     (if (or (= n 0) (= n 1))
         n
@@ -272,8 +305,8 @@ in the Org-mode buffer this looks like
 #+end_src
 
 in the Org-mode buffer this looks like
-: #+srcname: fibonacci-seq
-: #+begin_src emacs-lisp :var fib-inputs=fibonacci-inputs
+: #+srcname: fibonacci-seq(fib-inputs=fibonacci-inputs)
+: #+begin_src emacs-lisp
 :   (defun fibonacci (n)
 :     (if (or (= n 0) (= n 1))
 :         n