Ваш код, как указано, работает нормально.
Экстраполируя вашу ошибку, я предполагаю, что вы на самом деле код похож на это:
class MyClass
def [](arg)
self.bim
self.bam
self.boom
rescue Exception
"--"
end
end
И что позже вы пытаетесь:
obj[ 'whatever' ]
И получаю undefined method []' for nil:NilClass' (NoMethodError)
. Этого не происходит, потому что вы неправильно определили метод MyClass#[]
, это потому что ваш obj
не является экземпляром MyClass
, это nil
. Возможно, в результате более раннего звонка.