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