Ruby でシングルトンを使ってみる
Ruby
Published: 2019-05-25

やったこと

Ruby で singleton を使ってみます。

今回は用意されているライブラリを使います。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

調査

test.rb

require 'singleton'

class SingletonSample
  include Singleton

  attr_accessor :count

  def initialize
    @count = 0
  end
end

p 'obj1'
obj1 = SingletonSample.instance
puts obj1.count
obj1.count += 1
puts obj1.count

p 'obj2'
obj2 = SingletonSample.instance
puts obj2.count
obj2.count += 1
puts obj2.count

p 'id'
p obj1.object_id
p obj2.object_id

出力結果

$ ruby test.rb
"obj1"
0
1
"obj2"
1
2
"id"
70354869597880
70354869597880

参考