Hi! I want to test/use Python with org-sbe:
#+NAME: classificationfm #+BEGIN_SRC python :exports none :var prob :var impact result = "" if prob == 'high' and impact == 'high': return 'A' if prob == 'low' and impact == 'high': return 'B' if prob == 'high' and impact == 'low': return 'C' if prob == 'low' and impact == 'low': return 'D' return 'undefined' #+END_SRC (Yes, I should move to elif and the Python code might be coded with less characters in general: this should not be the point here ;-) ) | prob | impact | class | |------+--------+--------| | high | high | #ERROR | | low | high | #ERROR | | high | low | #ERROR | | low | low | #ERROR | #+TBLFM: @2$3..@>$3='(org-sbe "classificationfm" (prob $1) (impact $2)) I'd expect to get the values of the "class" table column: A, B, C, D instead of #ERROR. Reading the manual, I found: | NOTE: By default, string variable names are interpreted as | references to source-code blocks, to force interpretation of a | cell’s value as a string, prefix the identifier a "$" (e.g.,"$$2" | instead of "$2" or "$@2$2" instead of "@2$2"). Therefore, I tried the following lines ... #+TBLFM: @2$3..@>$3='(org-sbe "classificationfm" (prob "$1") (impact "$2")) #+TBLFM: @2$3..@>$3='(org-sbe "classificationfm" (prob $$1) (impact $$2)) #+TBLFM: @2$3..@>$3='(org-sbe "classificationfm" (prob "$$1") (impact "$$2")) ... all with same error in the result. My setup: Org mode version 9.1.6 on GNU Emacs 26.0.90 and GNU Emacs 25.1.1 I started a reddit thread[1]. In this thread, somebody was posting this table showing the error: #+NAME: myfunc #+BEGIN_SRC python :var n="1" return "ok" #+END_SRC | 10.3 | 9 | -18 | a | 14 | 11 | 1 | | ok | ok | ok | #ERROR | ok | ok | ok | #+TBLFM: @2='(org-sbe myfunc (n @1)) However, using the comment from the manual about strings, I prepended the reference with "$" ... | 10.3 | 9 | -18 | a | 14 | 11 | 1 | | ok | ok | ok | ok | ok | ok | ok | #+TBLFM: @2='(org-sbe mytestfunc (n $@1)) ... which now looks OK ;-) So, back to the initial situation: what is my error or do we have a bug in Org? [1] https://www.reddit.com/r/orgmode/comments/b0ll1v/embedding_python_code_in_table_formula/ -- get mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML into Org-mode: > get Memacs from https://github.com/novoid/Memacs < Personal Information Management > http://Karl-Voit.at/tags/pim/ Emacs-related > http://Karl-Voit.at/tags/emacs/