共用方式為


Core.Operators 模組 (F#)

基本 F# 運算子。 這個模組會自動在所有 F# 程式碼中開啟。

**命名空間/模組路徑:**Microsoft.FSharp.Core

組件:FSharp.Core (在 FSharp.Core.dll 中)

[<AutoOpen>]
module Operators

備註

如需 F# 中運算子的概觀,請參閱符號和運算子參考 (F#)

模組

模組

描述

模組 Checked

這個模組包含具有溢位檢查的基本算術運算

模組 OperatorIntrinsics

編譯器內建函式的模組,可以有效率地實作 F# 整數範圍和動態引動其他 F# 運算子

模組 Unchecked

這個模組包含未套用執行階段和 (或) 靜態檢查的基本運算

描述

( !) : 'T ref -> 'T

將可變動的參考儲存格進行取值 (Dereference)。

( % ) : ^T1 -> ^T2 -> ^T3

多載模數運算子。

( &&& ) : ^T -> ^T -> ^T

會多載位元AND運算子。

( * ) : ^T1 -> ^T2 -> ^T3

多載乘法運算子。

( ** ) : ^T -> ^U -> ^T

多載指數運算子。

( + ) : ^T1 -> ^T2 -> ^T3

多載加法運算子。

( - ) : ^T1 -> ^T2 -> ^T3

多載減法運算子。

( ..) : ^T -> ^T -> seq<^T>

標準多載範圍運算子,也..就是[n..m] 清單, seq {n..m} 序列的。

( ....) : ^T -> ^Step -> ^T -> seq<^T>

標準多載略過範圍運算子,也..就是[n..skip..m] 清單, seq {n..skip..m} 序列的。

( / ) : ^T1 -> ^T2 -> ^T3

多載除法運算子。

( := ) : 'T ref -> 'T -> unit

指派給可變動的參考儲存格。

( < ) : 'T -> 'T -> bool

結構化小於比較。

( << ) : ('T2 -> 'T3) -> ('T1 -> 'T2) -> 'T1 -> 'T3

撰寫兩個函式,而右邊的函式會先套用。

( <<< ) : ^T -> int32 -> ^T

依據所指定位元數的多載位元組左移運算子。

( <= ) : 'T -> 'T -> bool

結構化小於或等於比較。

( <> ) : 'T -> 'T -> bool

結構化不相等。

( <| ) : ('T -> 'U) -> 'T -> 'U

將函式套用至值,右邊是值,而左邊是函式。

( <|| ) : ('T1 -> 'T2 -> 'U) -> 'T1 * 'T2 -> 'U

將函式套用至兩個值,右邊是成對的值,而左邊是函式。

( <||| ) : ('T1 -> 'T2 -> 'T3 -> 'U) -> 'T1 * 'T2 * 'T3 -> 'U

將函式套用至三個值,右邊是三重的值,而左邊是函式

( = ) : 'T -> 'T -> bool

結構化相等。

( > ) : 'T -> 'T -> bool

結構化大於。

( >= ) : 'T -> 'T -> bool

結構化大於或等於。

( >> ) : ('T1 -> 'T2) -> ('T2 -> 'T3) -> 'T1 -> 'T3

撰寫兩個函式,而左邊的函式會先套用。

( >>> ) : ^T -> int32 -> ^T

依據所指定位元數的多載位元組右移運算子。

( @ ) : 'T list -> 'T list -> 'T list

串連兩個清單。

( ^ ) : string -> string -> string

串連兩個字串。 也可能會使用運算子 '+'

( ^^^ ) : ^T -> ^T -> ^T

位元XOR多載的運算子。

( |> ) : 'T1 -> ('T1 -> 'U) -> 'U

將函式套用至值,左邊是值,而右邊是函式

( ||> ) : 'T1 * 'T2 -> ('T1 -> 'T2 -> 'U) -> 'U

將函式套用至兩個值,左邊是成對的值,而右邊是函式

( ||| ) : ^T -> ^T -> ^T

會多載位元OR運算子

( |||> ) : 'T1 * 'T2 * 'T3 -> ('T1 -> 'T2 -> 'T3 -> 'U) -> 'U

將函式套用至三個值,左邊是三重的值,而右邊是函式

( ~+ ) : ^T -> ^T

多載前置加號運算子。

( ~- ) : ^T -> ^T

多載一元負運算

( ~~~ ) : ^T -> ^T

位元NOT多載運算子(Overload Operator)。

abs : ^T -> ^T

所指定數字的絕對值

acos : ^T -> ^T

所指定數字的反餘弦。

asin : ^T -> ^T

所指定數字的反正弦。

atan : ^T -> ^T

所指定數字的反正切。

atan2 : ^T1 -> ^T2 -> 'T2

x/y 的反正切函數,其中 x 和 y 是分別指定。

box : 'T -> obj

對強型別值進行 Box 處理。

byte : ^T -> byte

將引數轉換成位元組。 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

ceil : ^T -> ^T

所指定數字的最高限度值。

char : ^T -> char

將引數轉換成字元。 數字輸入會根據字元的 UTF-16 編碼方式進行轉換。 字串輸入的長度必須剛好是一個字元。 針對其他輸入類型,作業需要在輸入型別上使用適當的靜態轉換方法

compare : 'T -> 'T -> int

泛型比較

cos : ^T -> ^T

指定之數字的餘弦函數。

cosh : ^T -> ^T

指定之數字的雙曲線餘弦。

decimal : ^T -> decimal

對所有基本數值型別使用直接轉換,以將引數轉換成 Decimal。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

decr : int ref -> unit

遞減含有整數的可變動參考儲存格。

defaultArg : 'T option -> 'T -> 'T

在函式的實作中用來指定選擇性引數的預設值。

enum : int32 -> ^U

將引數轉換成特定 enum 型別。

exit : int -> 'T

如果安全性設定允許,則結束目前的硬體隔離處理序,否則引發例外狀況。 呼叫 Exit

exp : ^T -> ^T

指定之數字的指數。

失敗 : string -> exn

建置 Exception 物件

failwith : string -> 'T

擲回 Exception 例外狀況。

float : ^T -> float

將引數轉換成 64 位元浮點數 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

float32 : ^T -> float32

將引數轉換成 32 位元浮點數。 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

floor : ^T -> ^T

指定之數字的最低限度值。

fst : 'T1 * 'T2 -> 'T1

傳回 Tuple 的第一個項目,fst (a,b) = a。

hash : 'T -> int

泛型雜湊函式,設計成傳回依據 = 運算子而相等之項目的相等雜湊值。 它預設會使用 F# 聯集的結構化雜湊、記錄和 Tuple 型別,來產生型別之完整內容的雜湊。 藉由針對每個型別實作 GetHashCode,即可一個型別接著一個型別地調整函式的準確行為。

id : 'T -> 'T

身分識別函式。

ignore : 'T -> unit

忽略傳遞的值。 這通常用來捨棄計算的結果

incr : int ref -> unit

遞增含有整數的可變動參考儲存格。

infinity : float

相當於 PositiveInfinity.

infinityf : float32

相當於 PositiveInfinity.

int : ^T -> int

將引數轉換成 32 位元帶正負號的整數。 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

int16 : ^T -> int16

將引數轉換成 16 位元帶正負號的整數。 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

int32 : ^T -> int32

將引數轉換成 32 位元帶正負號的整數。 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse) 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

int64 : ^T -> int64

將引數轉換成 64 位元帶正負號的整數。 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

invalidArg : string -> string -> 'T

擲回 ArgumentException 例外狀況。

invalidOp : string -> 'T

擲回 InvalidOperationException 例外狀況。

limitedHash : int -> 'T -> int

泛型雜湊函式。 這個函式的行為與 hash 相同,不過在達到指定的節點限制時,F# 等位、記錄和 Tuple 型別的預設結構化雜湊會停止。 藉由針對每個型別實作 GetHashCode,即可一個型別接著一個型別地調整函式的準確行為。

鎖定 : 'Lock -> (unit -> 'T) -> 'T

使用輸入值做為鎖定,以互斥區域形式執行函式。

log : ^T -> ^T

指定之數字的自然對數。

log10 : ^T -> ^T

指定之數字以 10 為底數的對數。

max : 'T -> 'T -> 'T

根據泛形比較的最大值。

min : 'T -> 'T -> 'T

根據泛形比較的最小值。

nan : float

相當於 NaN.

nanf : float32

相當於 NaN.

nativeint : ^T -> nativeint

將引數轉換成帶正負號的原生整數。 這是針對所有基本數字類資料型別的直接轉換。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

not : bool -> bool

讓邏輯值相反。

nullArg : string -> 'T

擲回 ArgumentNullException 例外狀況。

pown : ^T -> int -> ^T

多載 Power 運算子。 如果 n > 0,則等於 x*...*x (表示 x 出現 n 次)

raise : Exception -> 'T

引發例外狀況。

ref : 'T -> 'T ref

建立可變動的參考儲存格。

reraise : unit -> 'T

重新擲回例外狀況。 這應該只有在處理例外狀況時才使用。

round : ^T -> ^T

將指定的數字四捨五入。

sbyte : ^T -> sbyte

將引數轉換成帶正負號的位元組。 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

seq : seq<'T> -> seq<'T>

使用循序項運算式語法,建置序列。

sign : ^T -> int

所指定數字的正負號。

sin : ^T -> ^T

指定之數字的正弦函數。

sinh : ^T -> ^T

指定之數字的雙曲線正弦函數。

sizeof : int

傳回型別的內部大小 (以位元組為單位)。 例如,sizeof<int> 會傳回 4。

snd : 'T1 * 'T2 -> 'T2

傳回 Tuple 的第二個項目,snd (a,b) = b

sqrt : ^T -> ^T

指定之數字的平方根。

stderr : TextWriter

讀取屬性 Error 的值

stdin : TextReader

讀取屬性 In 的值

stdout : TextWriter

讀取屬性 Out 的值

string : ^T -> string

使用 ToString,將引數轉換成字串。

tan : ^T -> ^T

指定之數字的正切函數。

tanh : ^T -> ^T

指定之數字的雙曲線正切函數。

truncate : ^T -> ^T

多載截斷運算子

typedefof : Type

產生代表型別定義的 Type。 如果輸入型別是泛型型別執行個體化,則傳回與所有這類執行個體化相關聯的泛型型別定義

typeof : Type

產生代表靜態型別的 Type 執行階段。 傳回的值仍會保留靜態型別。

uint16 : ^T -> uint16

將引數轉換成不帶正負號的 16 位元整數。 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

uint32 : ^T -> uint32

將引數轉換成不帶正負號的 32 位元整數。 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

uint64 : ^T -> uint64

將引數轉換成不帶正負號的 64 位元整數。 這是針對所有基本數字類資料型別的直接轉換。 對於字串,會使用 Parse 搭配 InvariantCulture 設定來轉換輸入。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

unativeint : ^T -> nativeint

針對所有基本數值型別使用直接轉換,將引數轉換成不帶正負號的原生整數。 否則,作業需要在輸入型別上使用適當的靜態轉換方法

unbox : obj -> 'T

對強型別值進行 Unbox 處理。 這是 box 的反向作業,即 unbox<'T>(box<'T> a) 等於 a。

using : 'T -> ('T -> 'U) -> 'U

在指定的函式完成之後,清理與輸入物件相關聯的資源。 即使是受保護程式碼引發例外狀況,還是會進行清理。

現用模式

現用模式

描述

( |Failure|_| ) : exn -> string option

比對其執行階段型別正是 ExceptionException. 物件

( |KeyValue| ) : KeyValuePair<'Key,'Value> -> 'Key * 'Value

此現用模式會強制執行 KeyValuePair<TKey, TValue> 型別的值

平台

Windows 8 中, Windows 7, Windows Server 2012 上, Windows Server 2008 R2

版本資訊

F# 核心程式庫版本

支援版本:2.0, 4.0,可攜式執行檔 (PE)。

請參閱

參考

Microsoft.FSharp.Core 命名空間 (F#)