需要Ruby中的前向声明

dba*_*osa 9 ruby methods undefined

我试图在一个文件中编写一个Ruby脚本.

我想知道是否可以在开头编写"main"函数,具有main使用的其他函数,在它之后定义.换句话说,我想调用一个尚未定义的函数,这样它们就不依赖于定义顺序.只是更改顺序是不可能的,因为它给出了"未定义的方法"错误.在C/C++中我们使用前向声明...在Ruby中有类似的东西或其他解决方案吗?

Ash*_*son 19

您只需要在函数main运行时定义您调用的函数,而不是在定义函数时定义.因此,最简单的解决方案是main在脚本的开头编写函数,但最后调用它.

def main
  foo(42)
  bar(24)
end

# definitions of foo and bar

main
Run Code Online (Sandbox Code Playgroud)