2007年9月27日木曜日

Squeakでcdr?

関数型言語はぜんぜん書けませんが,最低限の機能からいろいろ作るところは何かかっこいい気もします.(Squeakももちろんかっこいいです)

ふとSqueakで関数型言語で有名なcdrをするにはどうするか.
相変わらずあやしいcodeかもしれません.

#(1 2 3) atButFirst "#(2 3)"

#(1 2 3) allButFirst "#(2 3)"

結果的にはこれでよし.

SequenceableCollection>>allButFirst は SequenceableCollection>>copyForm:to:を使っているみたい.

これはcdrと言えるのかな?

もう眠たいので今日はここまでにしようと思います.

sumimさんより指摘があるように,atButFirstではなく正しくはallButFirstです.

2 件のコメント:

sumim さんのコメント...

atButFirst → allButFirst ですね。
car と cons に対応するものもありますよ。よかったら探してみてください。

Ringo さんのコメント...

>sumimさん

おっしゃる通りですね.
methodを普通に読んでも意味が通じませんね.

carとconsもあるとはさすがですね.
今度探したいと思います.