我想有一個F#函數參數的特定類型:F#函數參數類型的註釋不工作
type NewType = string*int
let testFunction (arg1:NewType) : NewType =
("resultString", 2)
testFunction ("test", 3)
我希望函數的類型是:
NewType -> NewType
但功能類型是:
string*int -> NewType
我該怎麼辦才能強制arg1參數的類型爲「NewType」?
但爲什麼返回類型是「NewType」,爲什麼它使用返回類型而不是參數。順便謝謝你的鏈接! – FraK
@FraK,這是一個很好的問題,而我不知道比其他一個滿意的答案:這是編譯器的當前版本如何決定這樣做(來源例如:https://github.com/fsharp/fsharp /問題/ 717)。正如Tomas所說的那樣,原始類型和別名對於編譯器(和其他工具)是可以互換的,並且它不能保證你什麼時候會看到其中一個。 –
感謝您的回答 – FraK