1
我試圖比較一個符號到另一個字母,但我不能這樣做。 特別是,我已經做到了。如何在Common Lisp中按字母順序比較符號?
CL-USER 1 > (string-lessp 'k 'a)
NIL
CL-USER 2 > (string-lessp 'a 'k)
0
謝謝你們
我試圖比較一個符號到另一個字母,但我不能這樣做。 特別是,我已經做到了。如何在Common Lisp中按字母順序比較符號?
CL-USER 1 > (string-lessp 'k 'a)
NIL
CL-USER 2 > (string-lessp 'a 'k)
0
謝謝你們
Common Lisp中,NIL是假的,別的都是如此。因此,在你的成績單,0是一個真正的價值,表明A是K.而之前不是簡單地恢復T和NIL,STRING-LESSP返回一個不匹配指數:
不平等函數返回一個不匹配指數是真的,如果字符串不相等,否則爲false。當不匹配索引爲真時,它是一個整數,表示兩個子串不同的第一個字符位置,作爲從string1開始的偏移量。
0是指定字符串不同意的第一個字符的索引。
你能詳細說明問題是什麼嗎? – jkiiski
@jkiiski如果你習慣於使用「C風格」的語言,那麼'0'看起來就像是假的,當它只是一個意外混淆的真實值。 – Vatine