[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: Problem whit with code evaluation
From: |
Dan Davison |
Subject: |
[Orgmode] Re: Problem whit with code evaluation |
Date: |
Wed, 18 Aug 2010 22:37:10 -0400 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux) |
Hi Marco,
"Blanchette, Marco" <address@hidden> writes:
> Sorry again if this is common knowledge, but the road to orgmode power user
> is seeded with challenges!
>
> I am trying to write an R function that would take 3 arguments, hopefully
> set up in an org table and have a function run every rows, taking every
> column as arguments to produce a set of report files... But I am going a bit
> ahead of myself as I am stuck quite early in the development...
>
> My problem is quite basic. For some reason, I canĀ¹t seems to be able to
> execute the following lines in the org buffer using org-babel-execute-buffer
> or to export an html of the files. The code block just don't execute and
> return errors.
>
> * Examples take from
> [[http://orgmode.org/worg/org-contrib/babel/intro.php#sec-7]]
>
> * The python example
> #+source: square(x)
> #+begin_src python
> x*x
> #+end_src
This one's our fault. That should be
#+begin_src python
return x*x
#+end_src
I've changed it on Worg.
> #+call: square(x=6)
>
> * The elisp example of the fibonacci series using a table as argument
>
> #+tblname: fibonacci-inputs
> | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
> | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 |
>
> #+srcname: fibonacci-seq(fib-inputs=fibonacci-inputs)
> #+begin_src emacs-lisp
> (defun fibonacci (n)
> (if (or (= n 0) (= n 1))
> n
> (+ (fibonacci (- n 1)) (fibonacci (- n 2)))))
>
> (mapcar (lambda (row)
> (mapcar #'fibonacci row)) fib-inputs)
> #+end_src
OK, that works for me.
>
> * Then my own trial in R
> #+srcname: test(x y)
^
missing comma
> #+begin_src R
> p <- x*y
> #+end_src
>
> #+call test(x=4 y=9)
^ ^
missing colon, and missing comma
> #+function test(x=3 y=8)
That's not correct usage of #+function; you wanted #+lob: / #+call:
there.
There are two sets of synonymous terms. *Within* each of these sets, the
terms are synonymous:
{#+function,#+source,#+srcname}
{#+lob,#+call}
My edited version of your input is below.
Hope that helps, do get back to the list if you have further questions.
Dan
--8<---------------cut here---------------start------------->8---
* Examples take from
[[http://orgmode.org/worg/org-contrib/babel/intro.php#sec-7]]
* The python example
#+source: square(x)
#+begin_src python
return x*x
#+end_src
#+call: square(x=6)
#+results: square(x=6)
: 36
* The elisp example of the fibonacci series using a table as argument
#+tblname: fibonacci-inputs
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 |
#+srcname: fibonacci-seq(fib-inputs=fibonacci-inputs)
#+begin_src emacs-lisp
(defun fibonacci (n)
(if (or (= n 0) (= n 1))
n
(+ (fibonacci (- n 1)) (fibonacci (- n 2)))))
(mapcar (lambda (row)
(mapcar #'fibonacci row)) fib-inputs)
#+end_src
#+results: fibonacci-seq
| 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 |
| 1 | 3 | 8 | 21 | 55 | 144 | 377 | 987 | 2584 | 6765 |
* Then my own trial in R
#+srcname: test(x, y)
#+begin_src R
p <- x*y
#+end_src
#+call: test(x=4, y=9)
#+results: test(x=4, y=9)
: 36
#+lob: test(x=3, y=8)
#+results: test(x=3, y=8)
: 24
--8<---------------cut here---------------end--------------->8---
>
> Is there something I am missing?
>
> My current setup is:
> GNU Emacs 23.1.50.1
> org-mode (v7.01g)
> R v2.11.1
> XServer running Snow Leopard Server 10.6.4
>
> Thanks for the help