J'écris un jeu qui prend l'entrée de l'utilisateur et le rend à l'écran. Le moteur que j'utilise pour cela est entièrement compatible Unicode, donc j'aimerais le garder si possible. Le problème est que la boucle de rendu ressemble à ceci:Ruby: Comment casser une chaîne potentiellement unicode en octets
"string".each_byte do |c|
render_this_letter(c)
end
Je ne sais pas i18n, beaucoup mais je sais assez pour connaître le code ci-dessus ne va jamais à travailler pour moi et les gens qui parlent ma langue. Je préférerais quelque chose comme:
"unicode string".each_unicode_letter do |u|
render_unicode_letter(u)
end
Est-ce que cela existe dans la distribution de base? Je suis quelque peu opposé à l'ajout d'exigences supplémentaires à l'installation, mais si c'est la seule façon de le faire, je vais vivre.
Pour plus de plaisir, je n'ai aucun moyen de savoir si la chaîne est, en fait, une chaîne unicode.
EDIT: La bibliothèque que j'utilise peut en effet rendre des chaînes entières, mais je laisse l'utilisateur éditer ce qui arrive à la volée - si elles frappent 'backspace', essentiellement, j'ai besoin de savoir combien d'octets couper la fin.