2009年11月18日水曜日

[Squeak] タプルを作る

Squeakでタプルを作ってみる.

#(1 2) with:#(3 4) collect:[:v1 :v2 | Array with:v1 with:v2].
 ==> #(#(1 3) #(2 4))


タプルを作る際には,同じ要素数のCollectionでなければならない.

こんなもの必要ではないと思われるかもしれないですが,タプルを作る際に,レシーバの要素数にあわせてタプルを作成するのも考えてみました.
x := #(1 2 ).
y := #(4 5 6).
result := x species new: x size.
1 to: x size do:[:index | result at: index put:
([:v1 :v2 | Array with:v1 with:v2]
value: (x at: index)
value: (y at: index))].
^ result.
==> #(#(1 3) #(2 4))

0 件のコメント:

コメントを投稿