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代码的情况下这样做。这可能吗?