模拟写入stdin()

时间:2013-12-27 17:37:53

标签: r io prompt

某些R GUI(例如RStudio)显示终端输入与正常输出不同(例如,在RStudio中为蓝色)。我希望通过利用与readline相同的机制来模拟这种行为。换句话说,我希望能够让R认为某些表达式来自终端。类似的东西:

cat("hello", file=stdin())

这当然不起作用,因为stdin只是r。 readline能够执行此操作,但不幸的是,它还要求用户键入一些我想要避免的内容(理想情况下,我希望非交互式readline行为)。

查看源代码,似乎我想要的行为是由R_ReadConsole中的R_WriteConsole\src\gnuwin32\system.c C函数(在我的Windows机器上)实现的,它们自己被{{ 1}}在ConsoleGetChar,但我不认为我可以直接从R调用它。我也看不到强迫src\main\scan.c认为它在非交互模式下运行的方法。 / p>

我不想直接用转义字符序列着色文本。我希望GUI处理着色的方式与终端输入相同(即可能通过读取readline并输出着色的内容),以使实现与OS / GUI无关。

我想在不编写C代码的情况下这样做。这可能吗?

0 个答案:

没有答案