31個までのwith:のサポート

投稿日: Mar 21, 2009 8:19:43 AM

Squeakのような前時代のSmallTalkでは、要素が6つまでの配列は以下のようにwith:で作成できるのに対し、

arr1 := Array with: 1 with: 2.

7つ以上になるとwithAll:を使わざるを得ませんでした。なんとも統一性に欠けています。

これでは1週間分のデータを配列で管理したいときなど、切ないことになりますね。

SmallTalk R4.1ではwith:を31個まで書くことができます。つまり一月分は大丈夫ということです。

arr2 := Array with: 1 with: 2 with: 3 with: 4 with: 5 with: 6 with: 7 with: 8 with: 9 with: 10 with: 11.....

などと書けます。この美しさには思わずうなってしまうでしょう。

これで

(1 to: 31) asArray.

などと姑息な手を使わずに済むわけです。