読者です 読者をやめる 読者になる 読者になる

terminal-table-unicode という gemを作りました

ruby

consoleで表形式を表示するgemで tj/terminal-table というのがあり
とても便利なのですが、マルチバイトに対応していなかったので、
rochefort/terminal-table-unicode という gemを作りました。

実装自体は、miaout17/hirb-unicode を参考にしています。
unicode-display_width というマルチバイト判定gemを利用して、元のgemをちょろっとoverrideしているだけです。

require 'terminal-table-unicode'
rows = []
rows << ['One', 1]
rows << ['Two', 2]
rows << ['Three', 3]
rows << ['よんじゅうご', 45]
table = Terminal::Table.new :rows => rows
table.align_column(1, :right)
puts table
+--------------+----+
| One          |  1 |
| Two          |  2 |
| Three        |  3 |
| よんじゅうご | 45 |
+--------------+----+

と、なかなか便利です。