单例模式是一种设计模式,用于将类的实例化限制为一个对象实例。虽然我知道如何用 C++ 和 Java 编写单例模式,但我想知道是否有人知道如何在 Ruby 中实现它?

有帮助吗?

解决方案

其实,上面的回答并不完全正确。

require 'singleton'

class Example
  include Singleton
end

您还需要包含 require 'singleton' 语句。

其他提示

使用单例模块:

class Clazz
  include Singleton
end

http://www.ruby-doc.org/stdlib/libdoc/singleton/rdoc/index.html 了解更多信息。

我相信您可以使用模块达到相同的效果,尽管它不是“单例模式”,但您可以通过这种方式拥有全局状态(这就是单例!顽皮的全局状态!)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top