你怎么从R中的控制台读取单个字符(没有RETURN)?

Dav*_*415 3 r

刚开始使用R.与任何语言一样,我希望能够以交互方式快速地完成程序.

我经常写一些像(伪代码)的东西

get_char(char)
if (char == 'q') {return}
if (char == 'a') {list.append(blah)}
if (char is anything else) {just move along}
Run Code Online (Sandbox Code Playgroud)

q用于退出,a用于追加,它们都在我的左手在键盘上,所以这是尽可能快.

我在RI看到可以使用

char=readline("Type a character and hit Enter")
Run Code Online (Sandbox Code Playgroud)

但我当然要按回车.有没有办法在R中获得一个角色?

Tyl*_*ler 6

不是您的问题的直接答案,但您可以debug用来获得您想要的行为.如果你有一个函数要测试,称debug(myfunction)套了研发的调试器,这样,当你下一次调用myfunction()它在一次执行一条线.如果在调试器中按Enter键,它将逐步进入函数的下一行.如果要检查函数范围内的任何数据,或运行任何其他任意R代码,也可以这样做,因为调试器提供对所有常规R函数的访问.

对于从用户提示输入单个字符,你不想做什么,但是对于调试我认为这更强大.