Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
相当于Ruby中的Java导入静态_Ruby - Fatal编程技术网

相当于Ruby中的Java导入静态

相当于Ruby中的Java导入静态,ruby,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

我是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);
}

我在谷歌上搜索了一下,但什么也没找到,还有其他机制吗?

我从@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

沿着这些思路的是
模块
中的
包含
扩展
方法。用谷歌搜索这些,你会发现很多关于它们如何工作的例子。@Casper真的很感谢,我找到了一个解决方案。我不明白为什么这个问题在没有评论的情况下被否决了两次