Ruby クラスメソッドでコンストラクタを実行するサンプル

環境
Windows11 Pro 64bit
ruby 3.1.2p20

構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class クラス名
  def initialize(変数名)
@num = 変数名
end
# 擬似的なコンストラクタ
def クラス名.setval
クラス名.new()
end
class クラス名   def initialize(変数名) @num = 変数名 end # 擬似的なコンストラクタ def クラス名.setval クラス名.new(値) end
class クラス名
  def initialize(変数名)
      @num = 変数名
    end
     
     # 擬似的なコンストラクタ
    def クラス名.setval
        クラス名.new(値)
    end

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Sample
def initialize(n)
@cft = n
end
# 擬似的なコンストラクタ
def Sample.setval
Sample.new(6)
end
def show
p @cft
end
end
cftA = Sample.new(8)
cftA.show
cftB = Sample.setval # クラスメソッドから実行
cftB.show
class Sample def initialize(n) @cft = n end # 擬似的なコンストラクタ def Sample.setval Sample.new(6) end def show p @cft end end cftA = Sample.new(8) cftA.show cftB = Sample.setval # クラスメソッドから実行 cftB.show
class Sample
    def initialize(n)
      @cft = n
    end
  
    # 擬似的なコンストラクタ
    def Sample.setval
        Sample.new(6)
    end
  
    def show
      p @cft
    end
  end
  
  cftA = Sample.new(8)
  cftA.show  
  
  cftB = Sample.setval  # クラスメソッドから実行
  cftB.show  

実行結果
8
6

Ruby

Posted by arkgame