Ruby クラスメソッドでコンストラクタを実行する
Rubyで、クラスメソッドでコンストラクタを実行するサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。
環境
- OS windows10 pro 64bit
- ruby 2.7.2p137
コンストラクタを実行
クラスメソッドを使用すれば、クラス内からコンストラクタを実行することが可能です。
class Hoge
def initialize(num)
@num = num
end
# 擬似的なコンストラクタ
def Hoge.setval
Hoge.new(1)
end
def disp
p @num
end
end
hoge1 = Hoge.new(2)
hoge1.disp
# 2
hoge2 = Hoge.setval # クラスメソッドから実行
hoge2.disp
# 1
クラス名を「self」に変更することもできます。
class Hoge
def initialize(num)
@num = num
end
# 擬似的なコンストラクタ
def self.setval
self.new(1)
end
def disp
p @num
end
end
hoge1 = Hoge.new(2)
hoge1.disp
# 2
hoge2 = Hoge.setval # クラスメソッドから実行
hoge2.disp
# 1
-
前の記事
rails6 外部のredisに接続する 2021.10.24
-
次の記事
docker composeで「JasperReports」を構築する 2021.10.25
コメントを書く