Esta es una pregunta bastante simple, y solo quería comprobar que lo que estoy haciendo y cómo estoy interpretando el F # tiene sentido. Si tengo la declaraciónF # Funciones vs. Valores
let printRandom =
x = MyApplication.getRandom()
printfn "%d" x
x
En lugar de crear printRandom
como una función, F # ejecuta una vez y luego lo asigna un valor. Entonces, ahora, cuando llamo printRandom, en lugar de obtener un nuevo valor aleatorio e imprimirlo, simplemente obtengo lo que se devolvió la primera vez. Puedo evitar esto mi definirlo como tal:
let printRandom() =
x = MyApplication.getRandom()
printfn "%d" x
x
¿Es esta la forma correcta de establecer esta distinción entre las funciones y los valores de los parámetros-menos? Esto parece menos que ideal para mí. ¿Tiene consecuencias en currying, composición, etc.?
Tenga en cuenta que casi seguramente desea agregar un 'let' delante de la primera aparición de' x'; de lo contrario, está realizando una comparación y tirando el resultado. – kvb
pregunta impresionante, estaba teniendo el * exacto * mismo problema. Lamentablemente lo encontré después de descubrir la solución. – ses011