[英]Semantics of F# statement
有人可以向我描述這個F#表達式嗎?
val augment: GameGrid -> points -> unit
val
關鍵字是什么意思?
通常type -> type
指示返回指定類型的函數是否正確? 那么type- type -> type -> type
表示返回一個返回指定類型的函數的函數?
(“ val”位不是表達;我認為它可以出現在三個不同的上下文中:
而且這些都不是技術上的表達上下文。)
至於類型,確實
A1 -> A2 -> R
表示接受A1的函數,並返回接受A2並返回R的函數。這些參數是經過咖喱處理的,它可能會很好地讀取例如
其中更詳細地描述了currying和部分應用程序。
您如何獲得此輸出的? 在FSI中?
Val僅代表一個值的定義。
例如,如果您在C#中編寫了以下內容
private void Foo(int i);
你可以用F#來寫
val Foo : int -> unit
關於type-> type- type -> type -> type
:這是一個帶有兩個參數(類型)的函數,返回“ type”
例如
let plus a b = a + b
擁有簽名int -> int -> int
。
您關於返回一個函數的函數的想法實際上是正確的。 在許多稱為currying的功能語言中,這是一種非常有趣的技術
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.