爲什麼「;;」 F#交互式在命令結束時需要什麼?例如,IronPython不需要它?爲什麼「;;」在F#交互中需要嗎?
編輯: When do you put double semicolons in F#? 涵蓋了大部分的歷史背景
我想我的觀點是,如果你使用的互動大多是單行它的繁瑣;然而我看到';;'的價值在交互式構建函數時。
爲什麼「;;」 F#交互式在命令結束時需要什麼?例如,IronPython不需要它?爲什麼「;;」在F#交互中需要嗎?
編輯: When do you put double semicolons in F#? 涵蓋了大部分的歷史背景
我想我的觀點是,如果你使用的互動大多是單行它的繁瑣;然而我看到';;'的價值在交互式構建函數時。
從歷史上看,我認爲這是從OCaml繼承的 - 參見https://stackoverflow.com/a/2669731/82959。
編譯器如何知道什麼時候要結束你的函數 - 這兩種都是有效的
let func() =
System.Console.Read() |> ignore
和
let func() =
System.Console.Read() |> ignore
1
所以我們需要;;
知道在哪裏函數結束
可以說,REPL可以推遲到另一個頂級聲明輸入。 – kvb 2012-01-30 21:39:16
因爲它們是不同語法的不同語法。 – artificialidiot 2012-01-30 20:53:13