相当于Ruby中的Java import static

时间:2014-03-21 06:02:09

标签: ruby

我是Ruby的新手,我想知道Ruby中是否有类似于Java静态导入的东西?

def any_weekday
    return DateFixture.mar(21, 2014)
    // how can I use mar(21, 2014) instead?
end

在java中,我可以通过使用静态导入来实现这一点:

import static somepackage.DateFixture.mar;

private Date anyWeekda() {
    return mar(21, 2014);
}

我用Google搜索但什么也没找到,还有其他机制吗?

1 个答案:

答案 0 :(得分:3)

我发现@ Casper的评论启发了解决方案。似乎静态方法不是在ruby中处理这个问题的正确方法。在这种情况下,模块和包含/扩展工作正常:

module DateFixture

    def mar(day, year)
        return Date.new(year, 3, day)
    end
end

class SomeTest
    include DateFixture
    def any_weekday
        return mar(21, 2014)
    end
end