Передать строковый аргумент в блок кода из таблицы в режиме org

Я пытаюсь передать строку в качестве аргумента блока кода при использовании org-mode а также org-babel, В частности, я рассматриваю следующий минимальный пример:

#+NAME: test
#+BEGIN_SRC python :var x="foobar"
return len(x)
#+END_SRC

| 6 | #ERROR |
#+TBLFM: @1$1='(org-sbe test)::@1$2='(org-sbe test (x ("fb")))

Как вы можете заметить, первая ячейка заполнена правильно. Тем не менее, я не могу заставить второй обрабатываться правильно. Я пробовал разные варианты; например:

#+TBLFM: @1$1='(org-sbe test)::@1$2='(org-sbe test (x "fb"))
#+TBLFM: @1$1='(org-sbe test)::@1$2='(org-sbe test(x="fb"))

Есть идеи?

КСТАТИ: #+CALL: test(x="fb") возвращает ожидаемый результат, т.е. 2, Кажется, что синтаксис для встроенного вызова или "вызова таблицы" отличается...:(

1 ответ

Решение

Наконец-то нашли правильную комбинацию!

| 6 | 3 |
#+TBLFM: @1$1='(org-sbe test)::@1$2='(org-sbe test (x \"bar\"))

Обратите внимание, что " надо бежать...

Другие вопросы по тегам