Поделиться через


Модуль Core.Operators (F#)

Основные операторы F#. Этот модуль автоматически открывается во всем коде F#.

Пространство имен/путь к модулю: Microsoft.FSharp.Core

Сборка: FSharp.Core (в FSharp.Core.dll)

[<AutoOpen>]
module Operators

Заметки

Обзор операторов в F# см. в разделе Справочник символов и операторов (F#).

Модули

Модуль

Описание

модуль Checked

Этот модуль содержит основные арифметические операции с проверкой переполнения.

модуль OperatorIntrinsics

Модуль встроенных функций компилятора для эффективной реализации диапазонов целых чисел и динамического вызова других операторов F#.

модуль Unchecked

Этот модуль содержит основные операции, которые не применяют проверки во время выполнения и/или статические проверки.

Значения

Значение

Описание

( ! ) : 'T ref -> 'T

Разыменование изменяемой ссылочной ячейки.

( % ) : ^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

Перегруженный префиксный оператор plus.

( ~- ) : ^T -> ^T

Перегруженное унарное отрицание.

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

Перегруженный логический оператор NOT.

abs : ^T -> ^T

Абсолютное значение указанного числа.

acos : ^T -> ^T

Арккосинус указанного числа.

asin : ^T -> ^T

Арксинус указанного числа.

atan : ^T -> ^T

Арктангенс указанного числа.

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

Арктангенс отношения x/y, где значения x и y указываются отдельно.

box : 'T -> obj

Упаковывает строго типизированное значение.

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

Возвращает первый элемент кортежа, fst (a,b) = a.

hash : 'T -> int

Общая хэш-функция, предназначенная для возврата равных значений хэша для элементов, равных согласно оператору =. По умолчанию используется структурное хэширование для объединения, записи и кортежа F#, при этом хэшируется все содержимое типа. Точное поведение функции можно корректировать для отдельных типов, реализуя метод GetHashCode для каждого типа.

ИД : '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# останавливается, когда достигается предельное количество узлов. Точное поведение функции можно корректировать для отдельных типов, реализуя метод GetHashCode для каждого типа.

lock : '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

Перегруженный оператор степени. Если 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

Возвращает второй элемент кортежа, 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

Распаковывает строго типизированное значение. Эта операция противоположна операции box, unbox<'T>(box<'T> a) равно a.

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

Очистка ресурсов, связанных с входным объектом, после выполнения заданной функции. Очистка выполняется, когда защищенный код вызывает исключение.

Активные шаблоны

Активный шаблон

Описание

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

Выделяет объекты Exception, тип среды выполнения которых — Exception.

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

Активный шаблон для сопоставления значений типа KeyValuePair<TKey, TValue>

Платформы

Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 3 (SP3), Windows XP x64 с пакетом обновления 2 (SP2), Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 2 (SP2)

Сведения о версии

Среда выполнения F#

Поддерживается в версиях 2.0, 4.0

Silverlight

Поддерживается в версии 3

См. также

Ссылки

Пространство имен Microsoft.FSharp.Core (F#)