Ich arbeite in R, und ich möchte einige Variablen definieren, die ich (oder einer meiner Mitarbeiter) nicht ändern kann. In C++ würde ich das tun:Deklarieren einer Const-Variable in R
const std::string path("/projects/current");
Wie mache ich das in der R-Programmiersprache?
Edit für Klarheit: Ich weiß, dass ich Strings wie dies in R definieren:
path = "/projects/current"
Was ich wirklich will, ist ein Sprachkonstrukt, das garantiert, dass niemand jemals den Wert mit der "benannte Variable zugeordnet ändern Pfad."
Bearbeiten, um Kommentare zu antworten:
Es technisch wahr ist, dass const eine Kompilierung-Garantie, aber es würde in meinem Kopf gültig sein, dass der R-Interpreter Anschlag Ausführung mit einer Fehlermeldung werfen würde. Zum Beispiel, schauen, was passiert, wenn Sie versuchen, Werte auf eine numerische Konstante zuweisen:
> 7 = 3
Error in 7 = 3 : invalid (do_set) left-hand side to assignment
Also, was ich wirklich will, ist eine Sprache, mit der Sie Werte erlaubt einmal zuweisen und nur einmal, und es sollte eine gewisse Art sein of error, wenn Sie versuchen, einer Variablen, die als const deklariert ist, einen neuen Wert zuzuweisen. Es ist mir egal, ob der Fehler zur Laufzeit auftritt, besonders wenn es keine Kompilierungsphase gibt. Dies ist technisch gesehen vielleicht nicht durch die Wikipedia-Definition festgelegt, aber es ist sehr nahe. Es sieht auch so aus, als ob dies in der Programmiersprache R nicht möglich ist.
können Sie immer noch rm (a); a <-2 obwohl :) – Spacedman