1
我對球拍相當陌生,而我在將一個字符串投射到列表時遇到了麻煩。我現在正在爲一類課程製作一個基本的boggle遊戲,並且我一直從下面的代碼中得到這個錯誤:難以投射字符串在球拍中列出
汽車:違反合同 預期:pair? 給出:「奧胡斯」 < --error
(define (word-is-in? a-word a-rand-list)
((cond
[(string? a-word)(string->list a-word)]
)
(cond
[(empty? a-word) #t] ;; Found all letters in a-word
[(empty? a-rand-list) #f]
[(is-in (car a-word) a-rand-list)
(word-is-in? (cdr a-word)
(remove-item (car a-word) a-rand-list))
]
[else #f] ;; first letter of a-word not in a-list
)
)
)
一下這個功能是應該做的,從字(詞)返回#T IFF一個字的所有字母的列表中一個字讀在一個列表中。我認爲我的問題是,一個單詞被讀入爲一個字符串。這就是爲什麼我加入
(cond
[(string? a-word)(string->list a-word)]
)
在函數的頂部。我希望它會將字符串轉換爲列表,但我仍然得到這個錯誤。思考?
謝謝!我認爲這是爲了這個功能。我的其他功能之一是現在正在竊聽,但我認爲這與我以前的問題沒有任何關係。 – Samariyu
其實,我確實有一個關於我無法在網上找到的問題。當字符串設置爲列表時,它會變成一個字符列表還是單個字母字符串列表? – Samariyu
做測試;)'(char?(car(string-> list「abc」)))'將返回#t,這意味着它是一個字符列表。然而,如果你需要一個字符串列表,你可以簡單地「映射」它,然後它變成'(set!a-word(map string(string-> list a-word)))''。 – HyperZ