diff options
| author | ksss <[email protected]> | 2018-03-27 10:52:32 +0900 |
|---|---|---|
| committer | ksss <[email protected]> | 2018-03-27 10:52:32 +0900 |
| commit | b1c8fad94a5371f8f31425af19fb0f7688a8338c (patch) | |
| tree | fcacdbde1e4c44811a1a0c4c485771cb62d46d5d /mrbgems/mruby-enum-ext/mrblib | |
| parent | 5a7ce01f128894b073451490ba230b4d0ec0674e (diff) | |
| download | mruby-b1c8fad94a5371f8f31425af19fb0f7688a8338c.tar.gz mruby-b1c8fad94a5371f8f31425af19fb0f7688a8338c.zip | |
Should raise TypeError instead of NoMethodError
Diffstat (limited to 'mrbgems/mruby-enum-ext/mrblib')
| -rw-r--r-- | mrbgems/mruby-enum-ext/mrblib/enum.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mrbgems/mruby-enum-ext/mrblib/enum.rb b/mrbgems/mruby-enum-ext/mrblib/enum.rb index 96249db28..b4ac67a5b 100644 --- a/mrbgems/mruby-enum-ext/mrblib/enum.rb +++ b/mrbgems/mruby-enum-ext/mrblib/enum.rb @@ -768,7 +768,12 @@ module Enumerable def zip(*arg, &block) result = block ? nil : [] - arg = arg.map{|a|a.to_a} + arg = arg.map do |a| + unless a.respond_to?(:to_a) + raise TypeError, "wrong argument type #{a.class} (must respond to :to_a)" + end + a.to_a + end i = 0 self.each do |*val| |
