ユーザー入力を受け取り、画面上にレンダリングするゲームを書いています。私がこれに使用しているエンジンは完全に Unicode に対応しているため、可能であればそれを維持したいと考えています。問題は、レンダリング ループが次のようになることです。
"string".each_byte do |c|
render_this_letter(c)
end
私は i18n についてよく知りませんが、上記のコードが機能するのは私と私の言語を話す人々だけであることは十分に知っています。私は次のようなものを好むだろう:
"unicode string".each_unicode_letter do |u|
render_unicode_letter(u)
end
これはコアディストリビューションに存在しますか? 私はインストールに追加の要件を追加することには多少抵抗がありますが、それが唯一の方法である場合は、私は生きます.
さらに面白いことに、文字列が実際に Unicode 文字列であるかどうかを知る方法はありません。
編集:私が使用しているライブラリは実際に文字列全体をレンダリングできますが、ユーザーがその場で表示されるものを編集できるようにしています.「バックスペース」を押すと、基本的に、最後を切り落とすバイト数を知る必要があります.