F # veränderbare Funktionsargumente

8

Gibt es eine Möglichkeit, veränderliche Funktionsargumente in F # zu haben, die etwas wie

erlauben würden %Vor%

Ich verstehe, dass dies funktioniert, indem man es in einen Datensatztyp einfügt

%Vor%

und dass dies in ähnlicher Weise für die Klassenmitglieder getan werden kann. Aber selbst nachdem ich die gesamte F # -Sprachspezifikation durchgeblättert habe (ja, das habe ich getan!), Scheint es keine Syntax zu geben, die den ersten Fall zulässt, und der Compiler scheint ziemlich unglücklich darüber zu sein, dass ich das versuche. Ich hatte gehofft, dass es eine Art Annotation geben würde, aber Mutable kann nicht in solchen verwendet werden.

Ich weiß auch, dass ich das überhaupt nicht machen sollte, aber der erste Fall ( int binding) und der zweite ( record type) sind semantisch identisch, und jeder solche Einwand würde gelten für beide Fälle gleichermaßen.

Also ich denke, dass ich hier etwas verpasse.

    
Alexander Rautenberg 23.09.2010, 13:56
quelle

2 Antworten

14

Sie können ref als Argumente verwenden

%Vor%

Oder byref-Schlüsselwort

%Vor%     
desco 23.09.2010, 14:00
quelle
8

Verwenden Sie das Schlüsselwort byref , das gleich C # ref ist. Weitere Informationen finden Sie im Abschnitt "Weitergabe nach Referenz" unter Ссылка

    
Artem Koshelev 23.09.2010 14:00
quelle

Tags und Links