我在R工作,我想定义一些我(或我的一个合作者)无法改变的变量.在C++中我会这样做:
const std::string path( "/projects/current" );
Run Code Online (Sandbox Code Playgroud)
我如何用R编程语言执行此操作?
为清晰起见编辑:我知道我可以在R中定义这样的字符串:
path = "/projects/current"
Run Code Online (Sandbox Code Playgroud)
我真正想要的是一种语言结构,它保证任何人都不能改变与名为"path"的变量相关的值.
编辑以回复评论:
从技术上来说,const是一个编译时保证,但在我看来,R解释器会抛出一个带有错误消息的停止执行.例如,看看当您尝试将值分配给数字常量时会发生什么:
> 7 = 3
Error in 7 = 3 : invalid (do_set) left-hand side to assignment
Run Code Online (Sandbox Code Playgroud)
所以我真正想要的是一种语言功能,它允许您只分配一次值,当您尝试将新值分配给声明为const的变量时,应该会出现某种错误.我不关心错误是否在运行时发生,特别是如果没有编译阶段.维基百科的定义在技术上可能不是常量,但它非常接近.看起来这在R编程语言中是不可能的.