var charSet = 1..10
を使用すると動作しますが、以下のコードを使用しているときにこのエラーが発生します。Kotlin:Forループの範囲には 'iterator()'メソッドが必要です
var charSet = "A".."Z"
for (value in charSet) {
println("$value")
}
forループの範囲は '反復子()' メソッドを持たなければなりません。
解決方法を教えてください。
var charSet = 1..10
を使用すると動作しますが、以下のコードを使用しているときにこのエラーが発生します。Kotlin:Forループの範囲には 'iterator()'メソッドが必要です
var charSet = "A".."Z"
for (value in charSet) {
println("$value")
}
forループの範囲は '反復子()' メソッドを持たなければなりません。
解決方法を教えてください。
charSet
はClosedRange<String>
であり、そのタイプにはiterator()
機能はありません(ただしIntRangeなどがあります)。範囲を'A'..'Z'
に変更するか、Iterator
を返す拡張機能ClosedRange<String>.iterator()
を作成することができます。誤差は、我々は、単一引用符を使用し、二重引用符を使用して文字を宣言するために、文字列を宣言するには、単一引用符
var charSet = 'A'..'Z'
for (value in charSet) {
println("$value")
}
その行くべきです。あなたは文字列ではなく文字列を通して反復することができます。引用符をsingleに変更すると、コードは完全に実行されます。
素晴らしいと思います。今働いている。私は期待していなかった、それはこのようなふるまいをするだろう。ありがとうサシとMibac。 –
に現在output.Changeあなたの二重引用符を与える離れ
あなたの迅速な返信をありがとう。サンプルコードを教えてください。 –
@Venkatesh_J私の答えを更新しました。私はあなたが実際に "A" .. "Z"ではない "A" .. "Z" ' – Mibac