hello_world = 'Hello Ruby World'
def hello_world
'Hello World'
end
puts hello_world
请解释为什么打印变量的值?
答案 0 :(得分:4)
如果编译器在同一范围内找到具有相同名称的变量和方法时出现歧义,则它会优先考虑该变量。
要明确调用该方法,请发送空的parens ()
hello_world = 'Hello Ruby World'
def hello_world
'Hello World'
end
puts hello_world()
或提供方法的明确接收者,在这种情况下,使用self
self.hello_world
修改强>:
正如sepp2k
在下面的评论中所建议的,self.hello_world
不适用于ruby(.rb
)文件。只是尝试一下,您可以使用send
:
send(:hello_world) #or
method(:hello_world).call