笠原です。

* From: matz / netlab.co.jp (Yukihiro Matsumoto)
* Date: Mon, 12 Oct 1998 15:06:50 +0900

> 自分では全部分かってるんでついそっけない記述になっちゃうんで
> すよね.

細かい仕様についても、どこかで文章化されている必要はあると思いますが、
一方では細かい記述は省いたクイックリファレンスも便利ですね。

# あ、「ぜひ作って下さい」と言っているわけではないです。でも、Ruby 本
# にも Perl 本みたいに Desktop Reference が付いたり、あるいは 1,000円
# くらいで別売されるのでしょうか?? (^^;)


> |	追加: 「srart が負の整数で end に 0 あるいは正の整数を指定した
> |		ときは、メソッドは空の配列を返します。」
> 
> これちょっと違うんですね.実際の仕様は
> 
>   また,始点が終点よりも大きい時には,空配列([])を返します.
> 
> となってます.

私は  
	a = ['a', 'b', 'c', 'd']

としたとき、
	b = a[-4 .. 1]

を、
	b = [a[-4], a[-3], a[-2], a[-1], a[0], a[1]]

というイメージで捉えていました。で、実際に試しても上記のような結果にな
らないので、これは「特別ルール」なんだと思ってました。そうではなくて、
この場合は

	b = a[0 .. 1]

という処理をしているのですね。納得です。我ながら頭が堅かったです。


> |rassoc(value)
> |	assoc(key) の説明と同じ内容のように思われるのですが、どう違う
> |	のでしょうか?
> 
> assocはkeyをrassocはvalueを探します.
> 
>   a = [[1,2],[2,4],[3,6]]
>   a.assoc(2)  # => 4
>   a.rassoc(2) # => 1
>
> より良い説明はありますかね.

なるほど。

味気ない説明ですが「assoc は  0 番目の要素が key に等しい『配列の配列』
を探し、rassoc は 1 番目の要素が value に等しい『配列の配列』を探す」、
という表現であっていますか?
______________________________________________________________________
                                          笠原 基之(かさはら もとゆき)