From 91255c7e9fbcfabae9b9f42a4016c02a45d7c5c9 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 26 Mar 2022 22:57:41 +0900 Subject: [PATCH] mrblib/array.rb: `Array#<=>` to handle `NoMethodError` exception. Array element may not respond to `<=>` method. --- mrblib/array.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mrblib/array.rb b/mrblib/array.rb index 6b4f74b96..cef944f8a 100644 --- a/mrblib/array.rb +++ b/mrblib/array.rb @@ -167,10 +167,14 @@ class Array n = other.size len = n if len > n i = 0 - while i < len - n = (self[i] <=> other[i]) - return n if n.nil? || n != 0 - i += 1 + begin + while i < len + n = (self[i] <=> other[i]) + return n if n.nil? || n != 0 + i += 1 + end + rescue NoMethodError + return nil end len = self.size - other.size if len == 0