Я работаю в R, и я хотел бы определить некоторые переменные, которые я (или один из моих соавторов) не могу изменить. В C ++ я бы сделал это:
const std::string path( "/projects/current" );
Как мне это сделать на языке программирования R?
Правка для ясности: я знаю, что могу определять строки в R:
path = "/projects/current"
Что мне действительно нужно, так это языковая конструкция, которая гарантирует, что никто никогда не сможет изменить значение, связанное с переменной с именем «path».
Изменить, чтобы ответить на комментарии:
Технически верно, что const является гарантией времени компиляции, но, на мой взгляд, было бы правильно, чтобы интерпретатор R бросил выполнение остановки с сообщением об ошибке. Например, посмотрите, что происходит, когда вы пытаетесь присвоить значения числовой константе:
> 7 = 3
Error in 7 = 3 : invalid (do_set) left-hand side to assignment
Итак, что мне действительно нужно, так это языковая функция, которая позволяет вам присваивать значения один раз и только один раз, и при попытке назначить новое значение переменной d, объявленной как const, должна быть какая-то ошибка. Мне все равно, если ошибка возникает во время выполнения, особенно если нет фазы компиляции. Это не может быть технически постоянным по определению Википедии, но это очень близко. Похоже, что это невозможно в языке программирования R.