2012-05-01 3 views
2

Я хотел бы запустить некоторый код через двоичный код через stdin и вставить результат. Язык foma, есть ли быстрый способ для этого или мне нужно написать собственное определение? Я пробовал http://sprunge.us/DjOV, но это дает мне if: Wrong type argument: stringp, (:colname-names).org-babel новый язык

ответ

3

Если foma может быть запущен файл (а не STDIN), тогда просто нужно выполнить следующее определение функции. Это напишет body во временный файл, вызовите foma на этот файл и верните результат (собранный из STDOUT).

(defun org-babel-execute:foma (body params) 
    "Execute a block of Foma code with org-babel." 
    (message "executing Foma source code block") 
    (org-babel-eval "foma" body)) 

Если foma настаивает на принятие входа через STDIN, то вы могли бы заменить foma выше что-то вроде foma-helper где foma-helper это сценарий оболочки держит что-то вроде

#!/bin/sh 
cat $1|foma 

Надеется, что это помогает

+0

Там в -f, который оценивает файл, поэтому это должно работать (с 'foma -f' я предполагаю) – Reactormonk

Смежные вопросы