我想在C ++中的组织模式下评估包含“ cin”指令的源代码块,但是我找不到在评估过程中进行交互式评估(带有用户输入)的方法。代码示例:
#+BEGIN_SRC C++ :results output :export code :tangle myfile.cpp
#include <iostream>
using namespace std;
int main()
{
int a;
cin>>a;
cout<<a+1;
}
#+END_SRC
是否可以进行这样的交互式评估或进行模拟(通过向源代码提供假输入)?
感谢@wvxvw的回答;我想做的是为学生编写一些程序示例的文档,因此我想保持源代码块的“原样”。所以我更喜欢您提到的第二种情况;我将尝试遵循您的建议(使用:var和elisp代码请求输入),您是否有链接或此类电话的示例?
—
Lgen
哦,对不起,有点误会。第二个示例将使用Emacs读取输入,但是Babel不会以允许交互的方式调用C ++程序。我唯一能想到的是,如果在代码中添加一些“多态”函数,则该函数有两种实现:一种实现以交互方式读取输入,另一种实现是从文件中读取或在代码块评估期间提供。
—
wvxvw
:var varname=value
在标题中使用。在第二种情况下,您仍然可以使用:var
,但是代替值使用带有ELisp函数的另一个代码块,该代码块要求输入。