2011-05-16 79 views

回答

11

是的,可以

F#規格:

整數常量與後綴Q,R,Z,I,N,G是通過以下句法用於用戶定義和庫定義的類型翻譯: XXXX <後綴>

  • 對於XXXX = 0 - NumericLiteral.FromZero()
  • ˚F或XXXX = 1 - NumericLiteral.FromOne()
  • 對於在範圍的Int32 XXXX - NumericLiteral.FromInt32(XXXX)
  • 對於在Int64的範圍XXXX - NumericLiteral.FromInt64(XXXX)
  • 對於其他號碼 - NumericLiteral .FromString(「xxxx」)

例如,如下定義模塊NumericLiteralZ允許使用文字形式32Z來生成32個'Z'字符序列。對於32位整數範圍以外的數字,沒有文字語法可用。

module NumericLiteralZ = 
    let FromZero() = "" 
    let FromOne() = "Z" 
    let FromInt32 n = String.replicate n "Z" 

// nullables 
open System 
module NumericLiteralN = 
    let FromZero()   = Nullable(0) 
    let FromOne()   = Nullable(1) 
    let FromInt32(i : int) = Nullable(i) 

printfn "%A" 0N 
printfn "%A" 1N 
printfn "%A" 100N.HasValue 
+2

只是一個小建議:不要使用N後綴,因爲它用於F#powerpack中的有理數。 – 2011-05-16 10:54:39

+0

這應該被添加到Tomas Petricek的片段頁面。 – TechNeilogy 2011-05-17 13:51:01

相關問題