From: matz@... (Yukihiro Matsumoto) Date: 1999-03-12T15:26:57+09:00 Subject: [ruby-dev:6279] Re: String#index, String#unpack まつもと ゆきひろです In message "[ruby-dev:6276] Re: [ruby-list:12784] String#index, String#unpack" on 99/03/12, IKARASHI Akira writes: |offsetが負の場合は、offset..-1の範囲ではマッチするはずがないので |スキップして、0から照合を行なうという解釈ではどうでしょう? []などの仕様とあわせて,offsetが負の場合 offset += str.size if (offset < 0) return nil としました. |% ruby -e 'p "abcde".index("")' |5 | |は正しいのかどうかも気になっています。 正しくないです.これは 0 を返すべきでしょう. |また、String#unpackのほうは、どのような仕様になったのでしょうか? 文字列の長さが足りないとき, 指定した数値が「文字列長のもの」 => 文字列を切り詰め 指定した数値が「繰り返す数のもの」 => nil を追加 にしました.ですから, "a".unpack("C a*") => [97, ""] "".unpack("a*") => [""] "a".unpack("CC") => [97, nil] "a".unpack("C3") => [97, nil, nil] でな感じですか.「テンプレート文字列の内容を知っていれば返さ れる配列の要素数を予想できる」という条件は満たしているように 思います. まつもと ゆきひろ /:|)