console applicationを作っていると、マルチバイトに対応した String#ljust, String#rjust, String#center
が欲しくなるケースがちょいちょいあり、こないだ同じやつ書いたなぁということがあったので
gem化しました。
rochefort/mb_string
padding文字列もマルチバイトに対応しています。この辺りエッジケースを考えると結構面倒なんです。
こんな感じ
require 'mb_string' # ljustだと半角空白が15文字追加されてしまう "あいうえお".ljust(20) => "あいうえお " # mb_ljustだと、期待通り半角空白が10文字追加される "あいうえお".mb_ljust(20) => "あいうえお " # padding文字列にマルチバイトを複数指定してもok "あいうえお".mb_ljust(20, 'ほげ') => "あいうえおほげほげほ" # mb_centerだとこんな感じ "あいうえお".mb_center(20, 'ほげ') => " ほげあいうえおほげ "