如果我使用var charSet = 1..10
它可行,但当我使用以下代码时,我收到此错误。
var charSet = "A".."Z"
for (value in charSet) {
println("$value")
}
For循环范围必须有一个' iterator()'方法
请告诉我如何解决此问题。
答案 0 :(得分:5)
charSet
是ClosedRange<String>
,该类型没有iterator()
函数(但是,例如IntRange)。您可以将范围更改为'A'..'Z'
,也可以创建一个返回ClosedRange<String>.iterator()
的扩展函数Iterator
。然后该错误就会消失
答案 1 :(得分:4)
给出当前输出。将双引号改为单引号
{{1}}
答案 2 :(得分:2)
要声明一个字符串,我们使用双引号并声明一个字符,我们使用单引号。您可以遍历字符而不是字符串。当您将引号更改为单引号时,您的代码将完美运行。