前端之家收集整理的这篇文章主要介绍了
Ruby包含模块中的单一方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个模块的跟随
module SimpleTask
def task1
end
def task2
end
def task3
end
end
而且我有一个模型只需要SimpleTask模块的task2方法.
我知道包括SimpleTask在我的模型,包括SimpleTask将做的工作.
但是我想知道我是否只能在我的模型中包含特定的task2方法.
听起来你需要将#task2重构为一个单独的模块(例如BaseTask).那么你可以轻松地只包含BaseTask,只需要#task2.
module BaseTask
def task2
...
end
end
module SimpleTask
include BaseTask
def task1
...
end
def task3
...
end
end
如果没有一个更具体的问题(如SimpleTask的方法之间的相互依赖等),很难帮助更多.
你可以做一些元编程,其中包括SimpleTask然后不定义你不想要的方法,但这是非常丑的IMO.
原文链接:https://www.f2er.com/ruby/272565.html