手続き的
相変わらず,perl cookbookの内容をrubyで書き直す練習をしているんだけれど,手続き的な記述しか出来ないとかなり負けた気分になる.
たとえばこんなコード:
tab_size = 4 str = "test test test" a = str.split(/( +)/) p = 0 a = a.map {|x| if x !~ /( +)/ p += x.size next x end np = p + x.size ret = "\t" * (np/tab_size-p/tab_size) + " " * (np % tab_size) p = np ret } puts a.join('') # !!元の文字列にタブが混じっていると意図通りに動作しない!!
逆に,実用かどうかはともかく,
http://d.hatena.ne.jp/iken0/20000710/p4
みたいに書けるとすっきりする.
いくつかのキーワードを入れるとgoogleで上位にくるらしい.初心者が書いているのに.