2012-01-30 1 views
2

Pourquoi ";;" requis en F # interactif à la fin d'une commande? Par exemple, IronPython ne l'exige pas?Pourquoi ";;" requis en F # interactif?

EDIT: When do you put double semicolons in F#? couvre la plupart des arrière-plan historique

Je suppose que mon point était si vous utilisez la plupart du temps d'une seule ligne dans interactive, il est lourd; Cependant, je vois la valeur de ';;' lors de la construction de fonctions interactives.

+3

parce qu'ils sont des langues différentes avec des syntaxes différentes. – artificialidiot

Répondre

1

Comment le compilateur sait quand vous voulez mettre fin à votre fonction - ces deux sont valides

let func() = 
    System.Console.Read() |> ignore 

et

let func() = 
    System.Console.Read() |> ignore 
    1 

Nous avons donc besoin ;; de savoir où la fonction se termine

+0

On peut soutenir que le REPL peut différer jusqu'à ce qu'une autre instruction de niveau supérieur soit entrée. – kvb

Questions connexes