Я пишу игру, которая берет вход пользователя и отображает его на экране. Двигатель, который я использую для этого, полностью дружественный к Юникоду, поэтому я хотел бы сохранить это, если это вообще возможно. Проблема заключается в том, что цикл рендеринга выглядит следующим образом:Ruby: Как разбить строку потенциального юникода на байты
"string".each_byte do |c|
render_this_letter(c)
end
Я не знаю много о i18n, но я знаю достаточно, чтобы знать, приведенный выше код только когда-либо будет работать для меня, и люди, которые говорят мой язык. Я бы предпочел бы что-то вроде:
"unicode string".each_unicode_letter do |u|
render_unicode_letter(u)
end
Существует ли это в основном дистрибутиве? Я несколько не согласен с дополнительными требованиями к установке, но если это единственный способ сделать это, я буду жить.
Для дополнительного удовольствия я не знаю, является ли строка, по сути, строкой из Юникода.
EDIT: Библиотека, которую я использую, действительно может отображать целые строки, однако я разрешаю пользователю редактировать то, что появляется на ходу - если они попадают в «backspace», по сути, мне нужно знать, сколько байтов отрубить конец.