ruby-on-rails – 有人可以解释class << self给我吗?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 有人可以解释class << self给我吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我第一次进入rails编程,同时看着我下载的一些库的代码,我偶尔会注意到代码
class << self
  def func
     stuff
  end
end

我已经尝试在网络上搜索一个解释,但是<<从最有用的搜索引擎中删除,所以最终只是搜索类自我,这不是很有用.任何见解将不胜感激.

解决方法

在Ruby中,class< foo打开了由foo引用的对象的单例类.在Ruby中,每个对象都有一个与它相关联的单例类,它只有一个实例.这个单例类保存对象特定的行为,即单例方法. 所以,class<自我开辟了单身人士的自我.什么是自我,取决于你所处的上下文,当然.在模块或类定义体中,例如,它是模块或类本身. 如果你正在使用单例类,定义单例方法,实际上有一个快捷方式:def foo.bar. 下面是一个例子,说明如何使用单例方法来提供一些与特定实例没有任何关联的“过程”:
class << (Util = Object.new)
  def do_something(n)
    # ...
  end
end

Util.do_something(n)
原文链接:https://www.f2er.com/ruby/265575.html

猜你在找的Ruby相关文章