Ruby

【Ruby】クラスの定義方法(3つ)

備忘録用に書いていきます。

class Sample
  .
  .
  .
end

Sample = Class.new do
  .
  .
  .
end


メリット…ブロックの外の変数が呼び出せる

var = 'hogehoge'

class Sample
  # classブロックの内部からは、ブロックの外で定義されたvarは呼び出せない
  puts var
end

Sample = Class.new do
  # Class.newブロックの内部からは、varを呼び出すことができる
  puts var
end

self.class.const_set :'Sample', Class.new do 
  .
  .
  .
end


メリット…クラスを動的に定義できる

class Sample
  def self.create_new_class(class_name)
    # 引数の値に応じて、クラスを作成する
    self.class.const_set :"#{class_name}", Class.new
  end
end
  • この記事を書いた人

コウダイ

文系・ノースキル・未経験・アラサー・地方住み・残業100時間超えの社畜ホテルマンから都内IT系上場企業のフルリモートWebエンジニアに転職した人。

都内IT系上場企業に勤務するWebエンジニア5年目|プログラミングスクールのテックキャンプ公式アンバサダー|新卒で手取り18万の地方ホテルマン6年→挫折→プログラミングを900時間勉強→転職活動100社以上応募→アラサー未経験から7ヶ月でフルリモートのWebエンジニアに転職し年収150万円UP|34歳2児のパパ|ブログ歴4年→月間6,000PV|エンジニア転職ノウハウ、プログラミング、Web制作、副業での稼ぎ方など、「時間や場所に縛られずに稼ぐ」方法を発信しています。

-Ruby