vocabulario significados significado sabias raras que palabras lista desconocidas con comunes .net f#

.net - significados - Significado de la palabra clave "in" en F#



palabras raras con su significado (3)

Para citar desde aquí .

Cuando la opción de sintaxis de luz está activada, ''in'' es opcional. El token después de la ''='' de una definición ''let'' comienza un nuevo bloque, donde el pre-analizador inserta un token ''in'' de separación implícito entre cada enlace ''let'' que comienza en la misma columna que ese token.

Sin la opción de sintaxis clara, a menudo se requiere ''in''. El ''en'' es opcional cuando se usa la opción de sintaxis claro.

Así que supongo que estás usando sintaxis ligera.

Estoy comenzando a aprender F #. En varios ejemplos de codificación F # veo la palabra clave "in" utilizada de la siguiente manera:

let doStuff x = let first, second = x in first + " " + second

La función funciona con y sin la "entrada" al final de la segunda línea. ¿Qué hace "en" hacer?


in es una resaca de las raíces OCaml de F # y especifica las variables vinculadas , que son sutilmente diferentes a los ámbitos variables.

Piense en el enlace variable de la siguiente manera; Usted tiene una expresión:

first + " " + second

Tal como están first y second están sin consolidar, no tienen ningún valor fijo, por lo que la expresión no tiene ningún valor concreto en este momento. Mediante el uso

let (...) in

sintaxis está especificando cómo esas variables están vinculadas en esa expresión , por lo que su ejemplo usará la sustitución de variables para reducir esa función hasta

let doStuff x = x + " " + x

En este ejemplo, ambas formas son idénticas, pero imagine lo siguiente:

let (x = 2 and y = x + 2) in y + x

Esto no funcionará igual que

let (x = 2 and y = x + 2) y + x

Porque en el primer caso, x solo está vinculado después de la palabra clave in .

En el último caso, las reglas de ámbito de variable normal surten efecto, por lo que las variables se consolidan tan pronto como se declaran.

Espero que eso aclare las cosas. En general, siempre debe usar la versión sin #light y especificar #light al inicio de sus archivos fuente F #