R で変更不可能な変数を作るには lockBinding
関数を使います。
a <- 1 lockBinding("a", .GlobalEnv)
変数を定義してから lockBinding
すると誤って変更してしまう場合があるので,定義と定数化を同時に行います。
constAssign <- function(x, value, envir=as.environment(-1)) { e <- envir assign(x, value, envir=e) lockBinding(x, e) }
assign
関数と同様に,次のように使うことができます。
constAssign("FOO", 1)
定義した定数を削除する場合は,普通に rm
関数で問題ありません。
rm(FOO)
参考文献
履歴
- [2013-05-14 19:30]
envir
引数の処理を修正。