我有一个文件,名为a.r,它有一个chmod755,
sayHello <- function(){
print('hello')
}
sayHello()
Run Code Online (Sandbox Code Playgroud)
我如何通过命令行运行它?
我从我的应用程序闪亮生成pdf报告时遇到问题,该报告托管在服务器上.
该应用程序工作正常,但当我按下按钮下载报告时,我收到此错误:
pandoc version 1.12.3 or higher is required and was not found.
Run Code Online (Sandbox Code Playgroud)
问题是,如果我输入pandoc -v我得到:
pandoc 1.12.3.3
Compiled with texmath 0.6.6, highlighting-kate 0.5.6.1.
Syntax highlighting is supported for the following languages:
actionscript, ada, apache, asn1, asp, awk, bash, bibtex, boo, c, changelog,
clojure, cmake, coffee, coldfusion, commonlisp, cpp, cs, css, curry, d,
diff, djangotemplate, doxygen, doxygenlua, dtd, eiffel, email, erlang,
fortran, fsharp, gnuassembler, go, haskell, haxe, html, ini, java, javadoc,
javascript, json, jsp, julia, latex, lex, literatecurry, literatehaskell, …Run Code Online (Sandbox Code Playgroud) 我有一个R脚本,它接受命令行参数,其中顶行是:
#!/usr/bin/Rscript --slave
Run Code Online (Sandbox Code Playgroud)
我想中断函数中的执行(因此我可以交互式地使用由该点加载的数据变量来计算我需要编写的下一部分代码).我在有问题的函数中添加了这个:
browser()
Run Code Online (Sandbox Code Playgroud)
但它被忽略了.一些搜索表明它可能是因为程序在非交互模式下运行.但是更多的搜索没有追踪我如何将脚本切换到非交互模式,以便浏览器()可以工作.像browser_yes_I_really_mean_it()功能一样的东西.
PS我想尽可能避免改变脚本的其余部分.我目前的方法是将准备数据所需的代码块复制并粘贴到交互式会话中; 但随着脚本变得越来越复杂,这变得越来越不合理.
更新:对于有同样问题的其他人来说,实际问题的答案似乎是不可能的.一旦你以非交互模式启动R,就会抛出骰子.因此,给定的答案是变通方法:要么你破解你的代码(记得以后再破解它),要么重构以使调试更容易.(此评论不是对答案的批评;建议的重构无论如何都会使代码更清晰.)