look n say with: Regex

最近のGSTは正規表現が使えるらしく,試しに look'n'say を解いてみた。
残念ながらあなごるでは(バージョンが古すぎて)未対応なのでここに晒してみる。

|k s|k:=stdin nextLine. 1to:12 do:[:c|s:=''. k displayNl onOccurrencesOfRegex:'1+|2+|3+'asRegex do:[:x|s:=s,'%1%2'bindWith:x match size with:x match first]. k:=s]!

なんと24文字のメソッド。ゴルファー泣かせもいいとこである。

追記:

文字列展開 - @hdb
マニュアルに載ってないのだが,bindWithArguments: は % で代用出来るらしい(これもあなごるは未対応)。

|k s|k:=stdin nextLine. 1to:12 do:[:c|s:=''. k displayNl onOccurrencesOfRegex:'1+|2+|3+'asRegex do:[:x|s:=s,'%1%2'%{x match size. x match first}]. k:=s]!

少し縮んだ。

追追記:
|k s|k:=stdin nextLine.-2to:9 do:[:c|s:=''.k displayNl onOccurrencesOfRegex:'1+|2+|3+'asRegex do:[:x|s:=s,'%1%2'%{x match size. x match first}].k:=s]!

さらに縮んだ。