我是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搜索但什么也没找到,还有其他机制吗?
答案 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