2009-12-11 13 views
0

Je lis les Fondations de F # par Robert pickering. Lorsque je tente de lancer le premier exemple dans le livre (ci-dessous) Je reçois une erreur d'exécution à l'impression de la fonction, « Impossible d'analyser le format string « spécificateur de format manquant » »Les fondations de l'exemple F # ne compilent pas, pourquoi?

#mytestapp 
let message = "Hello 
    World\r\n\t!" 
let dir = @"c:\projects" 

let bytes = "bytesbytesbytes"B 

let xA = 0xFFy 
let xB = 0o7777un 
let xC = 0b10010UL 
let print x = printfn "A%" x 
let main() = 
    print message; 
    print dir; 
    print bytes; 
    print xA; 
    print xB; 
    print xC 
main() 

La sortie devrait être (selon le livre):

"Bonjour \ n                 Monde \ r \ n \ t!"
"c: \ projects"
[| 98uy; 121uy; 116uy; 101uy; 115uy; 98uy; 121uy; 116uy; 101uy; 115uy; 98uy;
    121uy; 116uy; 101uy; 115uy |] -1y
18 pi

Je pense, que peut-être je n'ai pas quelque chose référencé que je devrais?

+0

J'ai édité printmessage pour imprimer un message. Ce n'est pas l'erreur est-ce? – Peter

+1

c'est% A, pas A% –

+0

Je pense que vous pourriez vouloir regarder ce fil; http://stackoverflow.com/questions/791706/in-f-how-do-i-customize-output-of-a-custom-type-using-printf – nlucaroni

Répondre

5

Vous souhaitez que votre chaîne de format soit "% A" et non "A%". Le spécificateur de format vient après le signe%. Il n'y a rien après votre signe% - par conséquent, Missing format specifier