6
我是相當新的F#和整個這個場景過來了,希望有人能解釋爲什麼我的編譯器犯規一樣的代碼...F#去路管由Int轉換爲bigint
如果在F#我做的下面...
let FloatToInt = 10.0 |> int
let IntToFloat = 10 |> float
一切都很好,並且這個數字轉換爲相應的數據類型...
但如果我這樣做...
let IntToBigInt = 10 |> bigint
我收到一個錯誤「無效的類型名稱或對象構造函數的使用。」 我認爲這是因爲對於bigint的前向管道沒有運算符超載?
如果我想讓這段代碼成爲可能,我該怎麼做?我知道我可以使用不同的語法像...
let IntToBigInt = bigint(10)
但我真的很喜歡去路管語法和想知道如果我能實現它,這樣......
let IntToBigInt = 10 |> bigint
會工作...
爲了增加SEPP年代,'bigint'馬克在使用前是一類的構造函數,而不是一個函數。 – Mau 2010-07-01 14:18:13
謝謝sepp ...我從來沒有意識到這一點!它現在非常有意義... – 2010-07-01 14:31:28
如果你真的想使用管道然後... let y = 1 |> bigint.op_Implicit – desco 2010-07-01 14:41:11