Pregunta

Según el documento MSDN:

Cuando se establece en False, deshabilite la visualización de valores de declaración en la salida de la sesión interactiva.

Sin embargo, la siguiente sesión interactiva de muestra parece contradecir ese resumen.

> let x = 42;;

val x : int = 42

> fsi.ShowDeclarationValues <- false;;

val it : unit = ()

> let y = 42;;

val y : int

No esperaba la última línea anterior.

¿He entendido mal algo? ¿Alguien puede confirmar si esto es un error?

Gracias.

¿Fue útil?

Solución

Daniel tiene razón: esto deshabilita solo la impresión del valores Y no el declaraciones ellos mismos.

Una situación en la que esto es útil es cuando define una impresora personalizada para un valor que crea una nueva ventana como efecto secundario (por ejemplo, un valor que representa un gráfico o algo que desea mostrar).

Por ejemplo, podrías escribir esto:

// Display all evaluated strings in a message box
fsi.ShowDeclarationValues <- false
fsi.AddPrinter(fun (s:string) -> 
  System.Windows.Forms.MessageBox.Show(s) |> ignore; "")

let a = "foo" // Evaluating this line doesn't show message box
let b = "bar" // (dtto)
a + b         // .. but evaluating this line shows the message box!

Otros consejos

Me parece que eso no Muestre el valor en la última línea, solo el nombre y el tipo de enlace.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top