[ruby-trunk - Bug #7038][Open] Array#zip に配列以外のオブジェクトを指定した場合の例外がわかり辛い

Issue #7038 has been reported by sho-h (Sho H.).


Bug #7038: Array#zip に配列以外のオブジェクトを指定した場合の例外がわかり辛い

Author: sho-h (Sho H.)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

=begin
1.9 以降でArray#zip に配列以外のオブジェクトを指定した場合の例外が NoMethodError
ではわかり辛いのではないかと思います。

$ ruby -ve ‘p [1,2,3].zip(1)’
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
-e:1:in zip': undefined method each’ for 1:Fixnum (NoMethodError)
from -e:1:in `’

1.8 までだと以下のように TypeError でした。

$ ruby -ve ‘p [1,2,3].zip(1)’
ruby 1.8.7 (2010-08-16 patchlevel 302) [i486-linux]
-e:1:in `zip’: can’t convert Fixnum into Array (TypeError)
from -e:1

1.9 以降では、to_ary に失敗した後で、each を試すようですが、それに失敗した時に 1.8 までと同様に TypeError
にしてもらう方がわかりやすいのではないかと思いました。
=end