我在班上包含两个不同的模块库。两者都有方法test_method
。我如何明确地使用其中一个?
class User
include Calculus::Math #a module
include Algebra::Math::Misc #a module
#perform_test is defined in both Calculus::Math and Algebra::Math::Misc
perform_test: 1
#Calculus::Math::perform_test: 1 #This doesn't work
end
由于
答案 0 :(得分:0)
如果元编程你将不得不做一点:
(Calculus::Math).method(:perform_test).bind(self).call 1
或
include Calculus::Math
alias :foo :perform_test
include ...
我没有测试其中任何一个,可能会发生一些小错误。
答案 1 :(得分:0)
尝试将perform_test
转换为Calculus::Math
上的模块功能。
Calculus::Math.module_eval do
module_function(:perform_test)
public :perform_test
end
class User
include Calculus::Math #a module
include Algebra::Math::Misc #a module
Calculus::Math.perform_test(1)
end