我有这个虚拟ruby类文件(Bar.rb
):
class Bar
foo() # execute foo()
def foo()
puts "Hello world, "
end
end
我用以下文件运行文件:
$ ruby Bar.rb
我希望在命令中看到“Hello,world”,但是出现了这个错误:
undefined local variable or method `foo' for Bar:Class (NameError)
from bar.rb:3:in `<main>'
那么我该如何执行一个方法呢? Ruby是否有任何main
方法(如Java或C / C ++)?
答案 0 :(得分:1)
首先定义方法,然后调用它。 不需要主程序,将首先执行类或方法之外的第一个代码。脚本本身就是主要的。我相信对此有更好的定义,但我相信你会坚定不移。
def foo()
puts "Hello world, "
end
foo() # execute
也不需要把它放在课堂上,然后你必须先发起她。
class Bar
def foo()
puts "Hello world, "
end
end
bar = Bar.new
bar.foo
答案 1 :(得分:1)
您不需要任何课程,您可以直接从文件本身调用您喜欢的任何方法:
bar.rb:
puts "Hello, world!"
如果您想坚持使用代码,则在声明之前调用foo
,这显然不起作用。
答案 2 :(得分:1)
这有几个原因,因为你写的不起作用。
这样可行:
class Bar
def self.foo
end
foo
end
正如其他人所说,你可能不需要将它包装在一个类中。