次の方法で共有


リテラル (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 属性を指定できます。 この属性には、値が定数としてコンパイルされる効果があります。

パターン マッチ式では、小文字で始まる識別子は、リテラルとしてではなく常にバインドされる変数として扱われます。そのため、一般的に、リテラルを定義する場合は先頭大文字を使用する必要があります。

参照

関連項目

リテラル (F#)

Core.LiteralAttribute クラス (F#)