遠藤です。いつもありがとうございます。

原さんのmodule_includeにフォローしてしまって、自己嫌悪におちいり、
土曜日から謹慎してruby-listを最初から読み始めました。ちょっと
時間がなくてまだ2000番なのと、重要な情報がかなりあるので、いずれ
もう一度メモをとりながら読む予定です。ソースに目を通すのは、その
後ということになりました。

On Sat, 15 May 1999 10:41:13 +0900
matz / netlab.co.jp (Yukihiro Matsumoto) wrote:

> |さて、引続きrb_range_beg_lenですが、
> |1)err==0の時も、begがインデックスの範囲を超えている時はQnilを
> |  返した方が、ary[nth]と一貫性がとれているのではないでしょうか。
> |2)end+=lenとした後beg==0、end==-1の時は、len=0を返した方が
> |  これも一貫性がとれているのではないでしょうか。
> 
> やや反応が遅れましたが,1)についてはその通りです(現在は
> subaryで対応してますが).で,2)についてはちょっとよくわかり
> ませんでした? end+=len後でend==-1ということはどういうことに
> なるんでしたっけ?

表の仕様の方で言った方がいいのに、先週はちょっとソースの森に
分け入ってしまい、不明確になってしまいました。すみません。
最初の話は、[1][1]がnilを返すので、[1][1..1]もnilを返した方が
覚えやすいかなあ、ということだったと思います。ただ、out of range
のインデックスを使う方がいけないので、大した話ではありません。

次もあまり大したことではなくて、a=[1];a[0,0]=3でspliceされる
なら、a[0..-3]=3も認めた方がいいのかな、ということです。

いずれもマニュアルの読み過ぎから生じた疑問で、不自由を感じること
は全くございませんので、無視してくださって結構です。

いよいよRuby本が登場すると、ここもにぎやかになると思いますが、
初心者がつまずいたところを早めにメモって提供したいと思って
います。変数の代入、破壊的メソッド、スコープ、手続きブロックの
意味、バックスラッシュの数、ローカル変数の定義される瞬間、
nilとfalseの違い、等々。結構ありますね。その前に既存のドキュ
メントをチェックしないと。

ついでで申し訳ありませんが、Marshal.dump array, ioとやって、
Marshal.load "ファイル名"としたら、
TypeError: old marshal file format (can't read)と言われました。
Array以外のオブジェクトでは試していません。
-- 
Akira Endo, akendo / t3.rim.or.jp