テキストを正方形っぽく整形したい
ふとなんとなくテキストを正方形っぽく整形したいなあと思って書いてみた。割とそれっぽくなるはず。
class String def pat w = Math.sqrt(self.length).ceil a = self.split(//) t = [] self.length.times do |s| t[s%w] ||= "" t[s%w] << a.shift end t end end
使用例
irb(main):025:0> "このまま眠りつづけて死ぬ".pat.inject("", :puts) こ眠け のりて まつ死 まづぬ => nil