楼主: 哈啊哈11
4270 2

[程序分享] readline函数无法交互输入 [推广有奖]

  • 0关注
  • 0粉丝

副教授

31%

还不是VIP/贵宾

-

威望
0
论坛币
82 个
通用积分
18.1430
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20861 点
帖子
363
精华
0
在线时间
390 小时
注册时间
2016-7-29
最后登录
2023-11-15

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

在Rstudio中,rmd文件里两句很简单的代码:
tp <- readline(prompt="please enter yes:")
if(tp!="yes") stop("you are wrong")

却无法交互式输入,命令窗口直接得到如下结果(连续的输出):
tp <- readline(prompt="please enter yes:")
please enter yes:
if(tp!="yes") stop("you are wrong")
错误: you are wrong

请问这是什么原因呢?


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:line READ EAD ADL Lin

个人觉得这个应该是Run和Source运行机制(breakpoint)的问题
Run会逐行运行选中代码,无异于把选中代码复制粘贴进Console,于是效果就是在运行'tp <- readline(prompt = "please enter yes:")'后,控制权进入Console,然后控制行键入的'if (tp != "yes")'被赋值给tp,最后无条件运行了'stop("you are wrong")'
而Soruce则是将文件作为整体运行,第一行运行完后控制权进入Console等待输入,之后再运行剩余部分
不妨试试Source~
参考: https://stackoverflow.com/questi ... ween-run-and-source

使用道具

藤椅
哈啊哈11 发表于 2022-3-7 17:00:42 |只看作者 |坛友微信交流群
正直者之死 发表于 2022-3-6 20:01
个人觉得这个应该是Run和Source运行机制(breakpoint)的问题
Run会逐行运行选中代码,无异于把选中代码复 ...
很感谢您的指教,我试试

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-2 01:42