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

From: "sho-h (Sho Hashimoto)" <sho-h@...>
Date: 2012-09-19 13:46:56 UTC
List: ruby-dev #46145
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 `<main>'

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/

In This Thread

Prev Next