Rubyのクラスとして、プロパティを指定したクラスを簡単に作れるStruct
があります。
そして、もちろんStruct
を拡張して自前のクラスに発展させていくこともできるのですが、るりまを見たところ、以下のような記述がありました。
Structをカスタマイズする場合はこの方法(注:
Struct.new
にブロックを付ける方法)が推奨されます。無名クラスのサブクラスを作成する方法でカスタマイズする場合は無名クラスが使用されなくなってしまうことがあるためです。
コードに起こせば、以下のようになるわけです。
ruby
1# おすすめでない方法 2class SomeClass < Struct.new(:foo, :bar) 3 # 中身略 4end 5 6# 推奨 7AnotherClass = Struct.new(:hoge, :piyo) do 8 # 中身略 9end
「無名クラスが使用されなくなってしまうことがある」というのが、どんな状況でどんな問題になるのかよくわからないのですが、そのあたりについて教えていただけましたら幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/02 23:30
2018/05/03 22:22