2011-09-28 4 views
1
(or (parse-integer (prompt-read "Rating") :junk-allowed t) 0) 

Cette ligne me dérange pas mal. le programme complet est ici si vous en avez besoin pour suivre: http://paste.lisp.org/display/124929Je ne sais pas ce que cette ligne fait

'Parse-integer' va transformer une chaîne en entier? si possible. Et ': junk-autorisé t' fait-il accepter les cordes indésirables d'une manière ou d'une autre?

Vous ne savez pas exactement ce que le 'ou' et le 0 sont à la fin.

Merci.

+0

Vous pouvez trouver des réponses à toutes vos questions dans [Practical Common Lisp] (http://gigamonkeys.com/book/) ou [Hyperspec] (http://www.lispworks.com/documentation/HyperSpec/Front/ –

Répondre

5

or passe les formulaires qui lui sont passés, les évalue dans l'ordre jusqu'à ce qu'ils en trouvent un qui n'évalue pas à zéro, et renvoie ce résultat. Donc, cela retournera le résultat de parse-integer si cet appel réussit à analyser un entier, ou 0 sinon.

+0

donc si j'entre 7 dans l'invite, c'est non-nil donc la ligne se termine, mais si je tapais une poubelle comme 'sept' cela retournerait 0? – neil

+0

@neil: Précisément exact. – Chuck

+0

merci je l'ai maintenant. – neil

Questions connexes