我想一次读取一个字符并将其转换为字符串命令,以便在输入空格后执行。 我试过了
<div id="parent_div">
<div id="bluesquare_div"></div>
<div id="yellowsquare_div"></div>
</div>
但我似乎无法正确理解con <- file("stdin")
open(con, blocking=TRUE)
while(q!=" "){
#q=scan("",what="", nmax=1)
q=readChar(con,1)
cmd[i]=q;i=i+1
}
eval(cmd)
。
答案 0 :(得分:4)
有趣的问题,但有一些缺陷:
q
,cmd
和i
并且永远不会分配它们导致立即错误并且程序在测试或分配中使用的未定义符号中止q
循环顶部测试while
但从未给它一个值(与之前的点相关)i
但从未设置为1
首先blocking
没有区别)
”仍然会被分配。stdin
)如果我们稍微修改一下代码,并使用更好的空格,没有分号和<-
用于分配(所有个人/公共偏好)我们得到
con <- file("stdin")
open(con, blocking=TRUE)
cmd <- q <- ""
i <- 1
while (q != " ") {
q <- readChar(con,1)
cmd[i] <- q
i <- i+1
}
print(cmd) # for exposition only
close(con)
并注意最终的print
而不是eval
,我们得到了这个(我输入了ls
命令字母后跟空格)
$ Rscript /tmp/marcusloecher.R
ls
[1] "l" "s" " "
$
我建议你改为readLines()
。
现在我检查了一下,我发现你显然也从不接受你问的问题的答案。对于我们这个领域的某个人来说,这是一个有趣的结果,有时将自己定义为关于激励的所有......