我是Ruby的新手.我想从一个包含我想继续单独使用的工具的模块中导入函数.在Python中,我只需要这样做:

def a():
    ...
def b():
    ...
if __name__ == '__main__':
    a()
    b()

这允许我运行程序或将其作为模块导入,以分别使用a()和/或b().Ruby中的等效范例是什么?

推荐答案

从我在野外看到的Ruby(当然不是很多),这不是一个标准的Ruby设计模式.模块和脚本应该是分开的,所以如果没有一个好的、干净的方法来实现这一点,我也不会感到惊讶.

EDIT: Found it.

if __FILE__ == $0
    foo()
    bar()
end

但这肯定不常见.

Ruby相关问答推荐

Ruby 扁平化 JSON 对象或哈希

当数据包含换行符时,Ruby PKCS7 无法验证

如何在 Ruby 中创建可调用属性

构造Ruby的现代方法是什么?

从href html标签中提取带有Ruby中nokogiri的链接(URL)?

确保如何在 ruby​​ 中工作

osx bash上的树命令

如何在 Ruby 中解冻对象?

从 Ruby 中的字符串创建不区分大小写的正则表达式

在 Ruby 中定义 [方括号] 方法是如何工作的?

在 Ruby 中将散列扁平化为字符串

Ruby全局匹配正则表达式?

区分一个Ruby字符串或数组

Ruby 中的超级关键字

如何理解 strptime 与 strftime

有条件的数组的第一个元素

Ruby 中的 to_s 与 to_str(以及 to_i/to_a/to_h 与 to_int/to_ary/to_hash)

Ruby 实例变量何时设置?

如何将 270921sec 转换为天 + 小时 + 分钟 + 秒? (Ruby)

如何判断一个类是否已定义?