github.com
リポジトリを作った
テストコード と 実装コード は GitHub に置いてある
どこかで実際に動作しているところを見掛けて、でもそれを実装したことがなかったので挑戦してみた
使用例:
text = <<EOF
横書き表記を
縦書き表記に変換して表示する
EOF
v = VerticalText.new(text)
puts v.to_vertical
結果:

データを配列に閉じ込めてからの操作が 結構泥臭い手順 になってしまっている
なんとか、.yield_self と &method(:method_name) で読解可能なレベルに抑え込めてると思う、わからない