我今天從Scala開始,我遇到了一個有趣的問題。我運行,爲表達遍歷字符串中的字符,像這樣的:Scala:「隱式轉換不適用」中的表達式很簡單
class Example {
def forString(s: String) = {
for (c <- s) {
// ...
}
}
}
,並始終與消息失敗:
error: type mismatch; found : Int required: java.lang.Object Note that implicit conversions are not applicable because they are ambiguous: ... for (c <- s) { ^ one error found
我試圖改變環路幾件事情,包括使用字符串的長度和使用硬編碼的數字(僅用於測試),但無濟於事。在網上搜索沒有取得任何要麼...
編輯:此代碼是最小的,我可以將其降低到,同時還產生了錯誤:
class Example {
def forString(s: String) = {
for (c <- s) {
println(String.format("%03i", c.toInt))
}
}
}
的錯誤是一樣的以上,並在編譯時發生。在'解釋器'中運行產生相同的結果。
如果您顯示更多/全部代碼,這將有所幫助。你顯示的代碼片段似乎沒問題。 – Fabian 2011-03-30 07:26:01
顯示問題的郵政編碼。如果帖子太長,則從其中刪除線條,直到獲得顯示問題的最小樣本。你甚至可以找出問題所在。 – 2011-03-30 14:02:06