リテラル (F#)
このトピックでは、F# でリテラルの型を指定する方法を示す表を示します。
リテラル型
F# のリテラル型を次の表に示します。 16 進表記で桁を表す文字は、大文字と小文字を区別しません。型を識別する文字は、大文字と小文字を区別します。
型 |
Description |
サフィックスまたはプリフィックス |
例 |
---|---|---|---|
sbyte |
符号付き 8 ビット整数 |
y |
86y 0b00000101y |
byte |
符号なし 8 ビット自然数 |
uy |
86uy 0b00000101uy |
int16 |
符号付き 16 ビット整数 |
s |
86s |
uint16 |
符号なし 16 ビット自然数 |
us |
86us |
int int32 |
符号付き 32 ビット整数 |
l または none |
86 86l |
uint uint32 |
符号なし 32 ビット自然数 |
u または ul |
86u 86ul |
unativeint |
符号なし自然数としてのネイティブ ポインター |
un |
0x00002D3Fun |
int64 |
符号付き 64 ビット整数 |
L |
86L |
uint64 |
符号なし 64 ビット自然数 |
UL |
86UL |
single、float32 |
32 ビット浮動小数点数 |
F または f |
4.14F または 4.14f |
lf |
0x00000000lf |
||
float、double |
64 ビット浮動小数点数 |
なし |
4.14 または 2.3E+32 または 2.3e+32 |
LF |
0x0000000000000000LF |
||
bigint |
64 ビット表現に制限されない整数 |
I |
9999999999999999999999999999I |
decimal |
固定小数点数または有理数として表現される小数 |
M または m |
0.7833M または 0.7833m |
Char |
Unicode 文字 |
none |
'a' |
String |
Unicode 文字列 |
none |
"text\n" または @"c:\filename" または """<book title="Paradise Lost">""" または "string1" + "string2" 「文字列 (F#)」も参照してください。 |
byte |
ASCII 文字 |
B |
'a'B |
byte[] |
ASCII 文字列 |
B |
"text"B |
String または byte[] |
逐語的文字列 |
@ プリフィックス |
@"\\server\share" (Unicode) @"\\server\share"B (ASCII) |
解説
Unicode 文字列には、\u とそれに続く 16 ビット 16 進コードを使用して指定できる明示的なエンコーディング、または、\U とそれに続く Unicode サロゲート ペアを表す 32 ビット 16 進コードを使用して指定できる UTF-32 エンコーディングが含まれる場合があります。
F# 3.1 では、文字列リテラルを結合するために + 符号を使用できます。 また、列挙型フラグを結合するにはビットごとの OR 演算子 (|||) を使用できます。 たとえば、F# 3.1 では次のようなコードが有効です。
[<Literal>]
let literal1 = "a" + "b"
[<Literal>]
let fileLocation = __SOURCE_DIRECTORY__ + "/" + __SOURCE_FILE__
[<Literal>]
let literal2 = 1 ||| 64
[<Literal>]
let literal3 = System.IO.FileAccess.Read ||| System.IO.FileAccess.Write
その他のビットごとの演算子は使用できません。
名前付きリテラル
定数とする値には、Literal 属性を指定できます。 この属性には、値が定数としてコンパイルされる効果があります。
パターン マッチ式では、小文字で始まる識別子は、リテラルとしてではなく常にバインドされる変数として扱われます。そのため、一般的に、リテラルを定義する場合は先頭大文字を使用する必要があります。