【发布时间】:2010-10-30 12:30:23
【问题描述】:
我在 R 中工作,我想定义一些我(或我的一位合作者)无法更改的变量。在 C++ 中,我会这样做:
const std::string path( "/projects/current" );
如何在 R 编程语言中做到这一点?
为清楚起见编辑:我知道我可以在 R 中定义这样的字符串:
path = "/projects/current"
我真正想要的是一种语言结构,它保证没有人可以更改与名为“path”的变量关联的值。
编辑以响应 cmets:
从技术上讲,const 是编译时保证,但在我看来,R 解释器会抛出停止执行并显示错误消息是有效的。例如,看看当您尝试为数值常量赋值时会发生什么:
> 7 = 3
Error in 7 = 3 : invalid (do_set) left-hand side to assignment
所以我真正想要的是一种语言功能,它允许您一次且仅一次分配值,当您尝试为声明为 const 的变量分配新值时应该会出现某种错误。我不在乎错误是否发生在运行时,尤其是在没有编译阶段的情况下。根据维基百科的定义,这在技术上可能不是 const ,但它非常接近。看起来这在 R 编程语言中也是不可能的。
【问题讨论】:
标签: r statistics constants