【发布时间】:2011-03-30 03:51:09
【问题描述】:
我今天开始使用 Scala,遇到了一个有趣的问题。我正在运行一个 for 表达式来迭代字符串中的字符,如下所示:
class Example {
def forString(s: String) = {
for (c <- s) {
// ...
}
}
}
并且它始终失败并显示消息:
错误:类型不匹配; 发现:整数 必需:java.lang.Object 请注意,隐式转换不适用,因为它们不明确: ... 对于 (c我尝试将循环更改为几件事,包括使用字符串的长度和使用硬编码数字(仅用于测试),但无济于事。搜索网络也没有产生任何结果......
编辑:此代码是我可以减少到的最小代码,但仍会产生错误:
class Example {
def forString(s: String) = {
for (c <- s) {
println(String.format("%03i", c.toInt))
}
}
}
错误与上述相同,并且发生在编译时。在“解释器”中运行会产生相同的结果。
【问题讨论】:
-
如果您显示更多/所有代码会有所帮助。您显示的代码 sn-p 似乎没问题。
-
显示问题的邮政编码。如果帖子太长,则从中删除行,直到获得显示问题的最小样本。您甚至可能会找出问题所在。
标签: scala for-loop implicit-conversion