2004-09-24から1日間の記事一覧

#(1 2 3) から #(1 2 3 1 2 3 1 2 3) を作る

もっともエレガントな方法は? #(1 2 3), #(1 2 3), #(1 2 3)いや。そうじゃなくて…。orz (1 to: 3) inject: #() into: [: sum : mock | sum, #(1 2 3)] (1 to: #(1 2 3) size * 3) collect: [: idx | #(1 2 3) atWrap: idx] Array streamContents: [: s | 3…

今日気付いた Smalltalk と Ruby の(思想が)違うところ。

#(1 2 3) * #(4 5 6) "=> #(4 10 18) " [1, 2, 3] * [4, 5, 6] #=> error (0...3).collect {|i| [1, 2, 3][i] * [4, 5, 6][i]} #=> [4, 10, 18] #(1 2 3) * 3 "=> #(3 6 9) " [1, 2, 3] * 3 #=> [1, 2, 3, 1, 2, 3, 1, 2, 3] Array streamContents: [: s | 3…

両替プログラム その2

出力が逆順なのが気持ち悪かったので、Prolog と同じになるように手直し。 Integer >> factors: factors amplitudes: amplitudes ifFail: failBlock "27 factors: #(24 11 3) amplitudes: #(0) ifFail: [^ nil]" | amps factor newAmps rest newFail | amps …

Ruby に対抗して、Squeak でも負け惜しみ。

TokuLog! より、K A N O U . J P をうけての、「Ruby なら2行で書けます」に対抗して、Smalltalk なら1行で書けます、と。w (ま、Ruby も実質1行で、しかもはるかに短いんすけどね) *1 second asUnHtml withSqueakLineEndings convertFromWithConverte…