5

我想通过标准输入通过二进制文件运行一些代码并粘贴输出。语言是foma,有没有一种快速的方法或者我必须编写自己的定义?我试过http://sprunge.us/DjOV,但这给了我一个if: Wrong type argument: stringp, (:colname-names).

4

1 回答 1

7

如果 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-helperwhere foma-helperis a shell script 的内容

#!/bin/sh
cat $1|foma

希望这可以帮助

于 2012-05-02T17:30:52.877 回答