如何访问Ruby中另一个模块内的模块中定义的方法?
发布时间:2020-12-17 01:47:19 所属栏目:百科 来源:网络整理
导读:给出以下示例: module A module B def whoa puts 'Whoa!' end endend 如何访问whoa方法? 1.9.3p392 :047 A.B.whoaNoMethodError: undefined method `B' for A:Module1.9.3p392 :048 A::B.whoaNoMethodError: undefined method `whoa' for A::B:Module1.9.3
给出以下示例:
module A module B def whoa puts 'Whoa!' end end end 如何访问whoa方法? 1.9.3p392 :047 > A.B.whoa NoMethodError: undefined method `B' for A:Module 1.9.3p392 :048 > A::B.whoa NoMethodError: undefined method `whoa' for A::B:Module 1.9.3p392 :049 > A::B::whoa NoMethodError: undefined method `whoa' for A::B:Module 这些方法似乎都不起作用. 解决方法
假设您不需要类级方法,您还可以将模块包含到类中,实例化该类的对象并调用whoa:
class C include A::B end c = C.new c.whoa # Whoa! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |