mb_stringというgemを作りました

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, 'ほげ')
=> " ほげあいうえおほげ "