Question

Selon le documentaion MSDN:

Lorsque la valeur false, désactive le affichage des valeurs de déclaration dans la sortie de la session interactive.

Cependant, la session interactive exemple suivant semble contredire ce résumé.

> let x = 42;;

val x : int = 42

> fsi.ShowDeclarationValues <- false;;

val it : unit = ()

> let y = 42;;

val y : int

Je ne m'y attendais pas la dernière ligne ci-dessus.

Ai-je mal compris quelque chose? Quelqu'un peut-il confirmer si cela est un bug?

Merci.

Était-ce utile?

La solution

Daniel est correct - cette opération désactive l'impression juste des valeurs et non déclarations elles-mêmes.

Une situation où ce qui est utile est lorsque vous définissez une imprimante personnalisée pour une valeur qui crée une nouvelle fenêtre comme un effet secondaire (par exemple une valeur qui représente un graphique ou quelque chose que vous voulez afficher).

Par exemple, vous pouvez écrire ceci:

// 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!

Autres conseils

Me semble que ne pas Afficher la valeur dans la dernière ligne, seul le nom et le type de la liaison.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top