【发布时间】:2014-05-05 04:51:03
【问题描述】:
我在 Scala 中玩弄折叠,不知何故,最终尝试通过执行以下操作来测试字符串是否仅包含唯一字符:
str
.fold(""){ (x, y) => if (!(x contains y)) x + y else x }
.size == str.size
这会导致错误
error: type mismatch;
found: Any
required: String
显然指向y的值。
谁能提供对此的见解?
我没想到会出现这种行为,我能找到的最接近的答案是"Scala assumes wrong type when using foldLeft,",这很相似,但并不能完全阐明问题。
【问题讨论】:
标签: scala functional-programming