Ich versuche nur, indem Sie durch die Wikibook einige F # zu lernen: https://en.wikibooks.org/wiki/F_Sharp_Programming/F # main vs main() Syntax
aus folgendes Beispiel: https://en.wikibooks.org/wiki/F_Sharp_Programming/Mutable_Data
open System
let withSideEffects x =
x := "assigned from withSideEffects function"
let refTest() =
let msg = ref "hello"
printfn "%s" !msg
let setMsg() =
msg := "world"
setMsg()
printfn "%s" !msg
withSideEffects msg
printfn "%s" !msg
let main() =
refTest()
Console.ReadKey(true) |> ignore
main()
Ich erkannte, dass sie setzen () nach jeder Funktion, die Nebenwirkungen hat. Das Entfernen der Klammern kompiliert gleich gut und ändert den Typ von Einheit -> Einheit zu Einheit.
Fragen:
- Ist das eine Art stillen aggrement zwischen Programmierern F #?
- Gibt es irgendwelche Vorteile für eine der 2 Syntaxen?
Auch [Warum funktionieren F # Funktionen, bevor sie aufgerufen werden?] (Https://stackoverflow.com/questions/32855383/why-do-f-functions-evaluate-before-they-are-) – ildjarn