是否可以从嵌套类方法中调用模块的类方法?例如,如果我有:
module A
def self.foo
'hello'
end
end
module A
class B
def self.bar
foo # Fails since A is not in B's ancestor chain
end
end
end
我知道我可以使用
直接在foo
上致电A
def self.bar
A.foo
end
但理想情况下,如果可能的话,我想让A
成为B
祖先链的一部分。任何提示将不胜感激。
答案 0 :(得分:3)
我不知道一种直截了当的方式来完全按照你的要求去做。但是,您可以将xgboost.core.XGBoostError: value 0for Parameter num_class should be greater equal to 1
的自我方法移动到另一个模块中的实例方法,并A
扩展该模块:
B
答案 1 :(得分:1)
使用def self.bar
self.to_s.deconstantize.constantize.foo
end
(如果你使用Rails,你已经拥有它),你可以这样做:
i = 0.01
while i < 10:
# do something
print i
if i < 0.1:
i += 0.01
elif i < 1.0:
i += 0.1
else:
i += 1
关于inflectors的更多信息: