Microsoft.FSharp.Core (Espacio de nombres de F#)
Este espacio de nombres contiene funcionalidad que admite funcionalidad básica de F#, como primitivas del lenguaje, operadores, atributos, tipos primitivos, cadenas y E/S con formato.
Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Core
Ensamblado: FSharp.Core (en FSharp.Core.dll)
namespace Microsoft.FSharp.Core
Módulos
Módulo |
Descripción |
---|---|
module ExtraTopLevelOperators |
Operadores y tipos adicionales de F# que están disponibles sin tener que abrir un módulo o espacio de nombres. |
module LanguagePrimitives |
Primitivas asociadas al lenguaje F#. |
module NumericLiterals |
Proporciona implementaciones predeterminadas de la sintaxis literal numérica de F# para los literales con el formato "dddI". |
module Operators |
Operadores básicos de F#. Este módulo se abre automáticamente en todo el código de F#. |
module OptimizedClosures |
Módulo de implementación usado para contener algunas implementaciones privadas de la invocación de un valor de función. |
module Option |
Operaciones básicas con opciones. |
module Printf |
Formato extensible de tipo printf para números y otros tipos de datos. |
module String |
Operadores de programación funcional para el procesamiento de cadenas. Además, hay disponibles operaciones de cadena a través de las funciones miembro de las cadenas, y otra funcionalidad de los tipos String y Regex. |
Definiciones de tipos
Tipo |
Descripción |
---|---|
type [,,,]<'T> |
Matrices de cuatro dimensiones, normalmente de base cero. Las matrices que no son de base cero pueden crearse mediante los métodos del tipo System.Array. |
type [,,]<'T> |
Matrices tridimensionales, normalmente de base cero. Las matrices que no son de base cero pueden crearse mediante los métodos del tipo System.Array. |
type [,]<'T> |
Matrices bidimensionales, normalmente de base cero. |
type []<'T> |
Matrices unidimensionales de base cero, escritas int[], string[], etc. |
Cuando se agrega este atributo a una definición de clase, la clase pasa a ser abstracta, lo que significa que no necesita implementar todos sus métodos. Las instancias de clases abstractas no se pueden construir directamente. |
|
Cuando se agrega este atributo a un tipo, se puede usar el literal 'null' para el tipo en código de F#. Este atributo puede agregarse únicamente a los tipos de clase o interfaz definidos en F#. |
|
type AutoOpenAttribute |
Este atributo se usa para dos fines. Cuando se aplica a un ensamblado, se debe proporcionar un argumento de tipo string y este argumento debe indicar un módulo o un espacio de nombres válido en ese ensamblado. Los archivos de código fuente compilados con una referencia a este ensamblado se procesan en un entorno donde se abre automáticamente la ruta de acceso especificada. |
Cuando se agrega este atributo a un tipo con el valor 'false', se deshabilita el comportamiento según el cual F# convierte el tipo en serializable de forma predeterminada. |
|
type byref<'T> |
Representa un puntero administrado en código de F#. |
Tipos auxiliares para modelos activos con 7 opciones. |
|
Tipos auxiliares para modelos activos con 6 opciones. |
|
Tipos auxiliares para modelos activos con 5 opciones. |
|
Tipos auxiliares para modelos activos con 4 opciones. |
|
type Choice<'T1,'T2,'T3> |
Tipos auxiliares para modelos activos con 3 opciones. |
type Choice<'T1,'T2> |
Tipos auxiliares para modelos activos con 2 opciones. |
type ClassAttribute |
Cuando se agrega este atributo a un tipo, este se representa mediante una clase de CLI. |
type CLIEventAttribute |
Agregar este atributo a una propiedad con tipo de evento hace que se compile como un evento de metadatos de CLI mediante una traducción sintáctica a un par de métodos 'add_EventName' y 'remove_EventName'. |
Este atributo se utiliza para indicar que un tipo de contenedor genérico cumple la restricción de comparación de F# solo si un argumento genérico también la cumple. Por ejemplo, cuando se agrega este atributo al parámetro 'T en una definición de tipo C<'T>, esto significa que un tipo C<X> solo admite la comparación si el tipo X también la admite y se cumplen asimismo todas las demás condiciones para que C<X> admita la comparación. El tipo C<'T> puede usarse con otros argumentos de tipo, pero un tipo como C<(int -> int)> no admitirá la comparación porque el tipo (int -> int) es un tipo de función de F# y no admite la comparación. |
|
El compilador de F# genera automáticamente este atributo para marcar las funciones y los miembros que aceptan una aplicación parcial de algunos de sus argumentos y devuelven una función residual. |
|
El compilador de F# inserta automáticamente este atributo para etiquetar los tipos y métodos en el código de CLI generado con marcas que indican la correspondencia con las construcciones de origen originales. Lo utilizan las funciones del espacio de nombres Microsoft.FSharp.Reflection para realizar una asignación inversa de las construcciones compiladas a sus formatos originales. No está diseñado para usarlo en el código de usuario. |
|
Este atributo se utiliza para ajustar la representación de un tipo en tiempo de ejecución. Por ejemplo, se utiliza para indicar que se puede usar la representación null para un tipo. Esto afecta al modo de compilación de algunas construcciones. |
|
Indica uno o más ajustes en la representación compilada de un tipo o un miembro de F#. |
|
El compilador de F# inserta automáticamente este atributo para marcar los métodos que reciben el atributo 'CompiledName'. No está diseñado para usarlo en el código de usuario. |
|
Cuando se agrega este atributo a una definición de función o valor en un módulo de F#, cambia el nombre usado para el valor en el código compilado de CLI. |
|
Indica que debe emitirse un mensaje cuando el código fuente de F# utiliza esta construcción. |
|
Cuando se agrega este atributo a un tipo, se indica que se trata de un tipo con una implementación definida por el usuario de la comparación. |
|
Cuando se agrega este atributo a un tipo, se indica que se trata de un tipo con una implementación definida por el usuario de la igualdad. |
|
type decimal<'Measure> |
Tipo de los números decimales, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Decimal. |
Agregar este atributo a una unión discriminada con un valor false desactiva la generación del evaluador de miembros auxiliares estándar, y miembros de constructor y descriptor de acceso para la clase de CLI generada para ese tipo. |
|
Agregar este atributo a una declaración de campo significa que no se inicializa el campo. Durante la comprobación de tipos se declara una restricción de que el tipo de campo admite 'null'. Si el valor de 'check' es false, no se declara la restricción. |
|
type EntryPointAttribute |
Agregar este atributo a una función indica que es el punto de entrada para una aplicación. Si esta ausencia no se especifica para un EXE, se usa como punto de entrada la inicialización implícita en los enlaces de módulo del último archivo de la secuencia de compilación. |
Este atributo se utiliza para indicar que un tipo de contenedor genérico cumple la restricción de igualdad de F# solo si un argumento genérico también la cumple. Por ejemplo, cuando se agrega este atributo al parámetro 'T en una definición de tipo C<'T>, esto significa que un tipo C<X> solo admite la igualdad si el tipo X también la admite y se cumplen asimismo todas las demás condiciones para que C<X> admita la igualdad. El tipo C<'T> puede usarse con otros argumentos de tipo, pero un tipo como C<(int -> int)> no admitirá la igualdad porque el tipo (int -> int) es un tipo de función de F# y no admite la igualdad. |
|
Este atributo se usa para marcar valores que forman parte de una característica de biblioteca experimental. |
|
type float<'Measure> |
Tipo de los números de punto flotante, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Double. |
type float32<'Measure> |
Tipo de los números de punto flotante, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Single. |
type FSharpFunc<'T,'U> |
Tipo de CLI que se usa para representar valores de función de F#. Si bien este tipo no suele usarse directamente, se puede usar en otros lenguajes de CLI. |
Este atributo se agrega a los ensamblados generados para indicar la versión del esquema de datos que se usa para codificar información específica adicional de F# en el recurso adjuntado a las bibliotecas de F# compiladas. |
|
type FSharpTypeFunc |
Tipo de CLI que se usa para representar los valores de funciones de tipo de primera clase de F#. Este tipo se usa en código de F# compilado. |
type FuncConvert |
Funciones auxiliares para convertir mediante delegados los valores de función de primera clase de F# en representaciones de CLI de las funciones, y viceversa. |
Cuando se agrega este atributo a un valor que no sea de función con parámetros genéricos, el uso de la construcción puede dar lugar a código genérico a través de la inferencia de tipos. |
|
type ilsigptr<'T> |
Este tipo es para uso interno del generador de código de F#. |
type int<'Measure> |
Tipo de los números enteros con signo de 32 bits, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Int32. |
type int16<'Measure> |
Tipo de los números enteros con signo de 16 bits, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Int16. |
type int64<'Measure> |
Tipo de los números enteros con signo de 64 bits, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Int64. |
type InterfaceAttribute |
Cuando se agrega este atributo a un tipo, este se representa mediante una interfaz de CLI. |
type LiteralAttribute |
Cuando se agrega este atributo a un valor, este se compila como un literal constante de CLI. |
Cuando se agrega este atributo a un tipo, este se interpreta como un tipo refinado; actualmente, se limita a los tipos con parámetros definidos como medidas. Solo se puede usar en condiciones muy limitadas. |
|
type MeasureAttribute |
Cuando se agrega este atributo a un tipo, este se interpreta como una unidad de medida. Solo se puede usar en condiciones muy limitadas. |
type nativeptr<'T> |
Representa un puntero no administrado en código de F#. |
Cuando se agrega este atributo a un tipo, se indica que se trata de un tipo para el cual la comparación es una operación anormal. Esto significa que el tipo no cumple la restricción de comparación de F#. En el sistema de tipos de F#, esto ayuda a garantizar que no se creen instancias de la función de comparación genérica de F# directamente en este tipo. El atributo y la comprobación no limitan el uso de la comparación con los tipos base o secundarios de este tipo. |
|
Este atributo se utiliza para marcar los valores que no se pueden invocar dinámicamente en tiempo de ejecución. Se suele agregar a las funciones Inline cuyas implementaciones incluyen código no comprobable. De este modo, si se invoca dinámicamente, el cuerpo de método emitido para la función Inline inicia una excepción en lugar de incluir el código no comprobable en el ensamblado generado. |
|
type NoEqualityAttribute |
Cuando se agrega este atributo a un tipo, se indica que se trata de un tipo para el cual la igualdad es una operación anormal. Esto significa que el tipo no cumple la restricción de igualdad de F#. En el sistema de tipos de F#, esto ayuda a garantizar que no se creen instancias de la función de igualdad genérica de F# directamente en este tipo. El atributo y la comprobación no limitan el uso de la comparación con los tipos base o secundarios de este tipo. |
type Option<'T> |
Tipo de valores opcionales. Cuando se usa en otros lenguajes de CLI, la opción vacía es el valor null. |
Este atributo se agrega automáticamente para todos los argumentos opcionales. |
|
Tipo de una expresión de formato. |
|
Tipo de una expresión de formato. |
|
type Ref<'T> |
Tipo de referencias mutables. Use las funciones [:=] y [!] para obtener y establecer valores de este tipo. |
Cuando se agrega este atributo a un tipo record o union, se deshabilita la generación automática de reemplazos de 'System.Object.Equals(obj)', 'System.Object.GetHashCode()' y 'System.IComparable' para el tipo. De forma predeterminada, el tipo utilizará la igualdad de referencia. |
|
Cuando se agrega este atributo al enlace let para la definición de un valor de nivel superior, la expresión de código delimitada que implementa el valor pasa a estar disponible en tiempo de ejecución. |
|
Este atributo se utiliza para indicar que las referencias a los elementos de un tipo de módulo, registro o unión requieren el acceso calificado explícito. |
|
Cuando se agrega este atributo a un tipo, valor o miembro, los usos de la construcción deben crear explícitamente instancias de los parámetros de tipo genérico. |
|
type sbyte<'Measure> |
Tipo de los números enteros con signo de 8 bits, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.SByte. |
type SealedAttribute |
Cuando se agrega este atributo a la definición de clase, pasa a ser un atributo sellado, lo que significa que no se puede extender ni implementar. |
type SourceConstructFlags |
Indica la relación entre una entidad compilada de un binario de CLI y un elemento en el código fuente de F#. |
type StructAttribute |
Cuando se agrega este atributo a un tipo, este se representa mediante un struct de CLI. |
Al agregar este atributo a un tipo record, union, exception o struct, se confirma la generación automática de implementaciones de 'System.IComparable' para el tipo. |
|
Cuando se agrega este atributo a un tipo record, union o struct, se confirma la generación automática de reemplazos de 'System.Object.Equals(obj)' y 'System.Object.GetHashCode()' para el tipo. |
|
Este atributo se utiliza para especificar cómo se muestra un tipo de forma predeterminada cuando se usan los modelos de formato de printf '%A' y otros diseños de presentación basados en texto bidimensionales. En esta versión de F#, los únicos valores válidos son los que tienen el formato PreText {PropertyName} PostText. El nombre de propiedad indica la propiedad que se va a evaluar y mostrar en lugar del propio objeto. |
|
type Unit |
Tipo "unit", que solo tiene un valor "()". Este valor es especial y siempre usa la representación "null". |
Este atributo se utiliza para etiquetar los valores cuyo uso da lugar a la generación de código no comprobable. Estos valores se marcan inevitablemente 'inline' para asegurarse de que las construcciones no comprobables no estén presentes en el código real de la biblioteca de F# sino que se copien en el código fuente del llamador. |
|
Cuando se agrega este atributo a un enlace mutable de F#, se usa el prefijo "volátil" para todos los accesos al campo. |
Abreviaturas de tipo
Tipo |
Descripción |
---|---|
type array<'T> |
Matrices unidimensionales de base cero, escritas int[], string[], etc. |
type bigint |
Enteros arbitrariamente grandes. Es una abreviatura del tipo BigInteger. |
type bool |
Es una abreviatura del tipo Boolean de CLI. |
type byte |
Es una abreviatura del tipo Byte de CLI. |
type char |
Es una abreviatura del tipo Char de CLI. |
type decimal |
Es una abreviatura del tipo Decimal de CLI. |
type double |
Es una abreviatura del tipo Double de CLI. |
type exn |
Es una abreviatura del tipo Exception de CLI. |
type float |
Es una abreviatura del tipo Double de CLI. |
type float32 |
Es una abreviatura del tipo Single de CLI. |
Tipo de una expresión de formato. |
|
Tipo de una expresión de formato. |
|
type int |
Es una abreviatura del tipo Int32 de CLI. |
type int16 |
Es una abreviatura del tipo Int16 de CLI. |
type int32 |
Es una abreviatura del tipo Int32 de CLI. |
type int64 |
Es una abreviatura del tipo Int64 de CLI. |
type int8 |
Es una abreviatura del tipo SByte de CLI. |
type nativeint |
Es una abreviatura del tipo IntPtr de CLI. |
type obj |
Es una abreviatura del tipo Object de CLI. |
type option<'T> |
Tipo de valores opcionales. Cuando se usa en otros lenguajes de CLI, la opción vacía es el valor null. |
type ref<'T> |
Tipo de referencias mutables. Use las funciones [:=] y [!] para obtener y establecer valores de este tipo. |
type sbyte |
Es una abreviatura del tipo SByte de CLI. |
type single |
Es una abreviatura del tipo Single de CLI. |
type string |
Es una abreviatura del tipo String de CLI. |
type uint16 |
Es una abreviatura del tipo UInt16 de CLI. |
type uint32 |
Es una abreviatura del tipo UInt32 de CLI. |
type uint64 |
Es una abreviatura del tipo UInt64 de CLI. |
type uint8 |
Es una abreviatura del tipo Byte de CLI. |
type unativeint |
Es una abreviatura del tipo UIntPtr de CLI. |
type unit |
Tipo "unit", que solo tiene un valor "()". Este valor es especial y siempre usa la representación "null". |
Excepciones
Excepción |
Descripción |
---|---|
exception MatchFailureException |
Los errores de coincidencia no exhaustivos iniciarán la excepción MatchFailureException. |