# File lib/monkey/ext/object.rb, line 21 def instance_yield(block = nil, &alternate_block) raise ArgumentError, "too many blocks given" if block && alternate_block block ||= alternate_block raise LocalJumpError, "no block given (yield)" unless block block.arity > 0 ? yield(self) : instance_eval(&block) end