私は新しいRubyistですが、現在は一時オブジェクトを作成するためにStruct inクラスを使用します。メンバの有無による構造体
class A
attr_accessor :b
B = Struct.new(:name, :print_name) do
def print_name
p "Hello #{name}"
end
end
def initialize(input_name)
@b = B.new(input_name)
end
end
a = A.new('Leo')
a.b.print_name # Hello Leo
しかし、私はまた私の構造体のBのparamsは:print_name
を含まない同じ結果を受信します。私はこのような構造体のメンバを使用する場合しかし、私は質問に遭遇します。
B = Struct.new(:name) do
...
end
だから何が違うのですか?メンバーパララムを使用する必要がありますか? name
とprint_name
-
あなたは初期化子のクラスを定義する最初のケースで感謝