是否可以将代码放入R中的控制台?

时间:2015-06-29 03:03:42

标签: r

Blasphemy我知道要问 IF 可以在R中做点什么,但我在这里!

我感兴趣的是能够创建一个将代码放入控制台的函数。换句话说,如果用户键入f("3+3")并按下Enter键,则控制台将等待> 3+3的下一个命令。然后,当用户点击进入时,在这种情况下它将返回6。可能?有什么想法吗?

我希望我能分享更多内容,但我从未想过这个功能在以前会有用......

2 个答案:

答案 0 :(得分:1)

您可以这样做的一种方法是调用system2()来调用合成键盘输入的外部实用程序。我编写了一个名为sendkeys的C ++程序,可以通过(最终)调用SendInput()在Windows上执行此操作。演示:

system2('sendkeys','3\\\\+3');
3+3
## [1] 6

(由于我的实用程序解析其输入的方式,反斜杠转义是必要的; +是必须转义为文字的元数据。)

如果您需要我的C ++代码,请告诉我。

答案 1 :(得分:0)

那会是你需要的那种功能吗?也许它不是一个非常优雅的解决方案。

CollectionUtils

编辑:对不起,我刚刚注意到@Ping已经在问题的评论栏中提出了eval(parse())解决方案。