我嘗試爲swift中的字符串處理創建一個迭代器,每次都會返回字符。但沒有運氣。 (最終目標是爲自定義腳本語言編寫解析器)swift中的字符串迭代器
我在網上找到的所有方法都涉及到某個範圍的for循環,它可以訪問字符串的字符,一次一個。 但我寧願需要hasNext()和getNextChar()等方法,其他函數會調用..
在swift中編寫類似這樣的迭代器類的最有效方法是什麼?是否有可能已經實現了該功能的swift中的某個類,因此,我不必首先編寫迭代器?
我嘗試爲swift中的字符串處理創建一個迭代器,每次都會返回字符。但沒有運氣。 (最終目標是爲自定義腳本語言編寫解析器)swift中的字符串迭代器
我在網上找到的所有方法都涉及到某個範圍的for循環,它可以訪問字符串的字符,一次一個。 但我寧願需要hasNext()和getNextChar()等方法,其他函數會調用..
在swift中編寫類似這樣的迭代器類的最有效方法是什麼?是否有可能已經實現了該功能的swift中的某個類,因此,我不必首先編寫迭代器?
致電makeIterator()
characters
的String
返回IndexingIterator<String>
。你可以撥打next()
來獲得下一個角色。當沒有更多字符時它返回nil
。
let myString = "abcde"
var iter = myString.characters.makeIterator() // Swift 3
// var iter = myString.makeIterator() // Swift 4
while let c = iter.next() {
print(c)
}
輸出:
a b c d e
非常感謝vacawama!有效! (Swift 3) –
'對於char在myString.characters {//東西}'。 – rmaddy
@rmaddy,謝謝你的回答!但正如我所提到的,我需要實現像hasNext()和getNextChar()這樣的方法,而不是一個能夠完成所有工作的for循環... –