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

這條線讓我很困惑。完整的程序是在這裏,如果你需要它遵循:http://paste.lisp.org/display/124929不知道這條線是什麼

「解析整數」將變成一個字符串和整數權利?如果可能的話。和':垃圾 - 允許噸'使它接受垃圾字符串莫名其妙?

不知道'or'和最後的0是什麼。

謝謝。

+0

您可以在[Practical Common Lisp](http://gigamonkeys.com/book/)或[Hyperspec](http://www.lispworks.com/documentation/HyperSpec/Front/)中找到所有問題的答案。 ) –

回答

5

or檢查傳遞給它的表單,按順序對它們進行評估,直到找到一個不評估爲零的表單並返回結果。因此,如果該調用成功解析整數,則返回parse-integer的結果,否則返回0。

+0

所以如果我在提示中輸入7,那麼非零所以行結束,但如果我鍵入一些垃圾像'七'它會返回0? – neil

+0

@neil:正確。 – Chuck

+0

感謝我現在得到它。 – neil