需要在 Ruby 中进行前向声明

发布于 2024-08-31 14:50:03 字数 195 浏览 2 评论 0原文

我正在尝试在 one 文件中编写 Ruby 脚本。

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

I am trying to write a Ruby script in one file.

I would like to know if it is possible to write the "main" function in the beginning, having the other functions that are used by main, defined after it. In other words, I would like to call a not yet defined function, so that they do not depends on definition order. Just changing the order is not possible because it gives an "undefined method" error. In C/C++ we use forward declarations... is there something similar in Ruby or another solution to this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一身仙ぐ女味 2024-09-07 14:50:03

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

def main
  foo(42)
  bar(24)
end

# definitions of foo and bar

main

You just need the functions you call to be defined when your main function runs, not when it's defined. So, the easiest solution is to write the main function at the script's beginning, but call it at the end.

def main
  foo(42)
  bar(24)
end

# definitions of foo and bar

main
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文