I have to admit that I didn't understand `runeAt()` either. This explains it: 
    
    
    from unicode import `$`
    
    var str = "A\u5f7c\u884c\u3067Z"
    for r in unicode.runes(str):
       echo r
    echo "That is what we expect."
    for i in 0 .. 4:
       echo unicode.runeAt(str, i)
    echo "That was wrong. This is right."
    var j = 0
    for i in 0 .. 4:
       echo unicode.runeAt(str, j)
       j += unicode.runeLenAt(str, j)
    
    
    Run
    
    
    A
    彼
    行
    で
    Z
    That is what we expect.
    A
    彼
    ½
    ¼
    行
    That was wrong. This is right.
    A
    彼
    行
    で
    Z
    
    
    Run

Reply via email to