类<Ruby中的自我成语

类<Ruby中的自我成语

什么class << self用红宝石做的?



青春有我
浏览 507回答 3
3回答

当年话下

我找到了一个非常简单的解释class << self&nbsp;,&nbsp;Eigenclass和不同类型的methods在这里博客.在Ruby中,有三种方法可以应用于类:实例方法单例方法类方法实例方法和类方法与其他编程语言中的同名方法几乎相似。class&nbsp;Foo&nbsp;&nbsp; &nbsp;&nbsp;def&nbsp;an_instance_method&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;puts&nbsp;"I&nbsp;am&nbsp;an&nbsp;instance&nbsp;method"&nbsp;&nbsp; &nbsp;&nbsp;end&nbsp;&nbsp; &nbsp;&nbsp;def&nbsp;self.a_class_method&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;puts&nbsp;"I&nbsp;am&nbsp;a&nbsp;class&nbsp;method"&nbsp;&nbsp; &nbsp;&nbsp;end&nbsp;&nbsp;endfoo&nbsp;=&nbsp;Foo.newdef&nbsp;foo.a_singleton_method &nbsp;&nbsp;puts&nbsp;"I&nbsp;am&nbsp;a&nbsp;singletone&nbsp;method"end访问Eigenclass(其中包括单例方法)具有以下语法(class <<):foo&nbsp;=&nbsp;Foo.newclass&nbsp;<<&nbsp;foo&nbsp;&nbsp;def&nbsp;a_singleton_method &nbsp;&nbsp;&nbsp;&nbsp;puts&nbsp;"I&nbsp;am&nbsp;a&nbsp;singleton&nbsp;method" &nbsp;&nbsp;endend现在,您可以为self哪一门课Foo在这方面:class&nbsp;Foo &nbsp;&nbsp;class&nbsp;<<&nbsp;self &nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;a_singleton_and_class_method &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;puts&nbsp;"I&nbsp;am&nbsp;a&nbsp;singleton&nbsp;method&nbsp;for&nbsp;self&nbsp;and&nbsp;a&nbsp;class&nbsp;method&nbsp;for&nbsp;Foo" &nbsp;&nbsp;&nbsp;&nbsp;end &nbsp;&nbsp;endend
打开App,查看更多内容
随时随地看视频慕课网APP