文字列を n バイト毎に分割

前にRubyで手続で書いたけど、改良。

 foo = "...適当に長い文字列..."
 foo.scan(/.{1,#{n}}/)

例を上げると。

 foo = "foobarhoge"
 p foo.scan(/.{1,3}/)

 ["foo","bar","hog","e"]

ところで、これは正規表現にマッチしたものを
リストで返しているのだと思うけど。
概念的には、どの表現方法に分類されるのだろう。

scanメソッドの呼出自体は OO で間違いなし。
でも、アルゴリズム正規表現で書かれている。
(マッチした結果をリストで返すというのは実装に依存)

デザインパターンの組み込み言語を使うパターンなんかに
当てはまるのかな。