From: "sho-h (Sho Hashimoto)" Date: 2012-09-19T22:46:56+09:00 Subject: [ruby-dev:46145] [ruby-trunk - Bug #7038][Open] Array#zip に配列以外のオブジェクトを指定した場合の例外がわかり辛い Issue #7038 has been reported by sho-h (Sho Hashimoto). ---------------------------------------- Bug #7038: Array#zip に配列以外のオブジェクトを指定した場合の例外がわかり辛い https://bugs.ruby-lang.org/issues/7038 Author: sho-h (Sho Hashimoto) 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 -- http://bugs.ruby-lang.org/