リテラルLiterals

注意

この記事の API リファレンスリンクを使用すると、MSDN (現時点では) に移動します。The API reference links in this article will take you to MSDN (for now).

このトピックでは、F# でリテラルの型を指定する方法を示す表を示します。This topic provides a table that shows how to specify the type of a literal in F#.

リテラル型Literal Types

F# のリテラル型を次の表に示します。The following table shows the literal types in F#. 16 進表記で桁を表す文字は、大文字と小文字を区別しません。型を識別する文字は、大文字と小文字を区別します。Characters that represent digits in hexadecimal notation are not case-sensitive; characters that identify the type are case-sensitive.

[種類]Type 説明Description サフィックスまたはプリフィックスSuffix or prefix 使用例Examples
sbytesbyte 符号付き 8 ビット整数signed 8-bit integer Yy 86y

0b00000101y
bytebyte 符号なし 8 ビット自然数unsigned 8-bit natural number uyuy 86uy

0b00000101uy
int16int16 符号付き16ビット整数signed 16-bit integer ss 86s
uint16uint16 符号なし16ビット自然数unsigned 16-bit natural number usus 86us
intint

int32int32
符号付き32ビット整数signed 32-bit integer l または nonel or none 86

86l
uintuint

uint32uint32
符号なし32ビット自然数unsigned 32-bit natural number u または ulu or ul 86u

86ul
nativeintnativeint 符号付き自然数へのネイティブポインターnative pointer to a signed natural number nn 123n
unativeintunativeint 符号なし自然数としてのネイティブ ポインターnative pointer as an unsigned natural number unun 0x00002D3Fun
int64int64 符号付き64ビット整数signed 64-bit integer LL 86L
uint64uint64 符号なし64ビット自然数unsigned 64-bit natural number ULUL 86UL
single、float32single, float32 32 ビット浮動小数点数32-bit floating point number F または fF or f 4.14F または 4.14f4.14F or 4.14f
lflf 0x00000000lf
float、doublefloat; double 64ビットの浮動小数点数64-bit floating point number nonenone 4.14 または 2.3E+32 または 2.3e+324.14 or 2.3E+32 or 2.3e+32
LFLF 0x0000000000000000LF
bigintbigint 64 ビット表現に制限されない整数integer not limited to 64-bit representation II 9999999999999999999999999999I
decimaldecimal 固定小数点数または有理数として表現される小数fractional number represented as a fixed point or rational number M または mM or m 0.7833M または 0.7833m0.7833M or 0.7833m
CharChar Unicode 文字Unicode character nonenone 'a' または '\u0061''a' or '\u0061'
文字列型String Unicode 文字列Unicode string nonenone "text\n"

、またはor

@"c:\filename"

、またはor

"""<book title="Paradise Lost">"""

、またはor

"string1" + "string2"

文字列」も参照してください。See also Strings.
bytebyte ASCII 文字ASCII character BB 'a'B
byte[]byte[] ASCII 文字列ASCII string BB "text"B
String または byte[]String or byte[] 逐語的文字列verbatim string @ プリフィックス@ prefix @"\\server\share" (Unicode)@"\\server\share" (Unicode)

@"\\server\share"B (ASCII)@"\\server\share"B (ASCII)

名前付きリテラルNamed literals

定数として使用する値は、リテラル属性でマークできます。Values that are intended to be constants can be marked with the Literal attribute. この属性には、値が定数としてコンパイルされる効果があります。This attribute has the effect of causing a value to be compiled as a constant.

パターン マッチ式では、小文字で始まる識別子は、リテラルとしてではなく常にバインドされる変数として扱われます。そのため、一般的に、リテラルを定義する場合は先頭大文字を使用する必要があります。In pattern matching expressions, identifiers that begin with lowercase characters are always treated as variables to be bound, rather than as literals, so you should generally use initial capitals when you define literals.

[<Literal>]
let SomeJson = """{"numbers":[1,2,3,4,5]}"""

[<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

RemarksRemarks

Unicode 文字列には、明示的なエンコーディングを含めることができます。これには、\u の後に16ビットの16進コード (0000-FFFF) を使用する32か、\U の後に Unicode を表す32ビットの16進コードを使用して指定することができます。コードポイント (00000000-0010FFFF)。Unicode strings can contain explicit encodings that you can specify by using \u followed by a 16-bit hexadecimal code (0000 - FFFF), or UTF-32 encodings that you can specify by using \U followed by a 32-bit hexadecimal code that represents any Unicode code point (00000000 - 0010FFFF).

||| 以外の他のビットごとの演算子の使用は許可されていません。The use of other bitwise operators other than ||| isn't allowed.

その他のベースの整数Integers in other bases

符号付き32ビット整数は、それぞれ 0x0o、または 0b プレフィックスを使用して、16進数、8進数、またはバイナリで指定することもできます。Signed 32-bit integers can also be specified in hexadecimal, octal, or binary using a 0x, 0o or 0b prefix respectively.

let numbers = (0x9F, 0o77, 0b1010)
// Result: numbers : int * int * int = (159, 63, 10)

数値リテラルのアンダースコアUnderscores in numeric literals

数字はアンダースコア文字 (_) で区切ることができます。You can separate digits with the underscore character (_).

let value = 0xDEAD_BEEF

let valueAsBits = 0b1101_1110_1010_1101_1011_1110_1110_1111

let exampleSSN = 123_456_7890

関連項目See also