有没有一种方法可以在多行中提供代码给Rscript -e
?
在原始版的R语言中,这是可能的。
R --vanilla <<code
a <- "hello\n"
cat(a)
code
然而,使用 Rscript
时,我会得到两个不同的结果,具体取决于 R 版本。
# R 3.0.2 gives two ignores
Rscript -e '
quote> a <- 3+3
quote> cat(a, "\n")
quote> '
# ARGUMENT 'cat(a,~+~"' __ignored__
# ARGUMENT '")' __ignored__
Rscript -e 'a <- 3+3;cat(a, "\n")'
# ARGUMENT '")' __ignored__
# R 2.15.3 gives an ignore for the multiline, but it works with semicolons
Rscript -e '
quote> a <- 3+3
quote> cat(a, "\n")
quote> '
# ARGUMENT 'cat(a,~+~"\n")' __ignored__
Rscript -e 'a <- 3+3;cat(a, "\n")'
6
我显然使用了错误的语法。正确的做法是什么?
Rscript
中的一个bug?或者至少,这是一个不完全完成的功能?我并不是在批评Rscript
,只是观察到换行符并没有按照预期处理。 - Aaron McDaidR --vanilla <<heredoc ...
语法可行,那么有什么理由尝试使用Rscript -e
呢? - user5359531