0

我需要具有单例行为的类。

使用 Singleton 模块有什么区别...

require 'singleton'

class X
    include Singleton

    def set_x(x)
        @x = x
    end

    def test
        puts @x
    end
end

X::instance.set_x('hello')
X::instance.test

...并使用类方法和类实例变量?

class X
    def self.set_x(x)
        @x = x
    end

    def self.test
        puts @x
    end
end

X::set_x('hello')
X::test
4

1 回答 1

1

什么都没有,就像您编写代码一样——但是单例是一个只允许单个实例的类。第二个代码片段中的任何内容都不允许实例化多个实例。

于 2011-09-11T23:09:57.930 回答