以下代码工作正常:
class String
def foo
next!
end
end
puts 'hh'.foo # hi
Run Code Online (Sandbox Code Playgroud)
这个也很好:
class String
def foo
self.next
end
end
puts 'hh'.foo # hi
Run Code Online (Sandbox Code Playgroud)
但是这个没有:
class String
def bar
next
end
end
# Invalid next (SyntaxError)
Run Code Online (Sandbox Code Playgroud)
为什么Ruby在next这里使用关键字并引发SyntaxError,即使我正在String上课?