In message <9902140353.AA02348 / tux0017.sdd.tokyo-sc.toshiba.co.jp> Inaba Hiroto <inaba / sdd.tokyo-sc.toshiba.co.jp> writes: > > :「cdr(arr) を意図しています」ということで [] に対して適用したら [] が > > :返ってきて欲しいわけです.ますます OK です. > > arr[start..end]でstart > endの時に例外を出すようになったのなら, > arr[0,-1]が例外になってもいいと思います. というかそうなったと思って > rubyが例外を出すのを予期したら, そうなってなかった, という事なんですが. ま,確かにみょうなんですよね.私も例外になると思ってた.だから「試して みないと....」なわけですが. さらに言うと,「cdr(arr) を意図して入るけど [] は base case だから特別 に扱ってるんだよね」っていうことで,そもそも [] に適用して [] が返って くる必要もなかったりして. # あんまり考えないで書いてるのがばればれ (^^; > > 逆に car と cdr を Array に追加するとか :-) > > Schemeだと(car '())や(cdr '())はエラーになりますよね. これも「ふつうなら base case で特別扱いしているだろう」という感じがあ りますよね.いい加減な再帰関数を書くと停止しませんし. # というか,停止しないように書けますね.適当に書くと場合によっては # stack overflow で止まるでしょう.... ふつうそういうのは停止とは言いま # せんが. > # 柳川さんにとっては好ましくない方向への提案ですね. すみません. ということで,多分問題無いのでした.「多分」と言ってしまうあたりが弱い. # あとはモデルとしての美しさと実装の手間の問題ですね.まあ [x..y]= や # [x, y]= でやっているのと同じチェックを参照でもやるだけですけど. -- 柳川和久 @ 東大阪市 . 大阪府 February 14, 1999 Every body's business is nobody's business.