Используя Ruby 1.9.1, как я могу получить доступ к символам этой строки по одному? - PullRequest
3 голосов
/ 08 января 2010

Я не знаю, как еще объяснить, поэтому я дам вам Список греческих слов с английскими производными . Посмотрите на таблицу a, пожалуйста, первый столбец. Обратите внимание, что есть такие слова, как ἄβαξ. Используя Ruby 1.9.1, который имеет лучшую поддержку кодирования, чем Ruby 1.8, как я могу перебирать каждый символ, образующий это слово? Например, я хотел бы получить буквы по порядку, по одному, например:

ἄ
β
α
ξ

Я не совсем уверен, как это сделать, поскольку метод .size сообщает о длине строки, отличной от той, которую мы воспринимаем. Вы можете помочь?

Ответы [ 2 ]

2 голосов
/ 08 января 2010

Пример:

#!/usr/bin/env ruby19

str = "ἄβαξ"
puts "#{str} - encoding: #{str.encoding.name} / size: #{str.size}"
str.each_char do |c|
  puts c
end

Используя Google-fu, вы найдете множество хороших статей по Ruby 1.9 и кодировке символов.

1 голос
/ 08 января 2010

Следующее, кажется, работает в 1.9

testStr="ἄβαξ"
testStr.each_char { |k|
        puts k
}
...