【问题标题】:How to pipe input to a src_block as stdin ?如何将输入作为标准输入传送到 src_block ?
【发布时间】:2012-08-26 09:35:18
【问题描述】:

考虑一下 org-babel 中 perl 的以下 sn-p,它使用 <STDIN>

** Ans 2
   #+begin_src perl :results output
     use Math::Trig;
     $rad = <STDIN>;
     $circumference = 2*pi*$rad;
     print "Circumference of circle is $circumference";
   #+end_src

是否可以将输入从另一个块通过管道传输到该块?

说:

#+begin_src text :name test-input
  12.5
#+end_src

【问题讨论】:

    标签: org-mode literate-programming org-babel


    【解决方案1】:

    您可以将$rad#+results 块直接传递给perl 脚本:请参阅手册中的passing arguments to code blocks

    这会给

    #+begin_src perl :results output :var rad=test-input
    

    用作输入

    #+results: test-input
    :  12.5
    

    【讨论】:

    • 这似乎正是答案。我不知道你为什么说“我不这么认为”。
    • 你说得对,我调整了答案。 (最初是因为我们使用的是 results 块,而不是 begin_src text 块 - 请在编辑前查看他的问题。)
    • 啊,好吧。酷。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    相关资源
    最近更新 更多