純粋なルビースクリプトにあるナビゲーションレールのオブジェクトのレール動作を実装する良い方法を見つけることができません。Rubyでそれらの間のオブジェクトを接続するベストプラクティス
私はクラスChildのオブジェクトの配列へのアクセサーを使ってParentクラスのオブジェクトを持っていますが、Childオブジェクトを操作するとParentを簡単に取得できるようにしたいと思います:
class Parent
attr_accessor :children
def initialize
@children = Array.new
end
end
class Child
end
parent = Parent.new
first_child = Child.new
second_child = Child.new
parent.children << [ first_child, second_child ]
a_child = parent.children.first
get_parent_from_child = a.child.parent
私が興味を持っている部分は、もちろん、その子の1つから「親」オブジェクトを取得しようとする最後の行です。
どうすれば簡単かつきれいに実装できますか?
子オブジェクトにアクセサを追加しようとしていましたが、子オブジェクトを親オブジェクトに添付するたびにこの値が設定されていることを確認する方法がわかりません。
ルビーで簡単かつクリーンな方法がありますか?
ありがとうございます。
'Parent'クラスでは、コンテナに適切な親オブジェクトへの参照が含まれていることを確認する必要があるため、' attr_accessor'ではなく 'attr_reader:children'を使用しました。私たちはまだコレクションに子供を追加したり、コレクションから子どもを削除することは自由です。 –
ああ、それは私が探していたようだ。私はプロジェクトで月曜日にそれを実装しようとします。ありがとう、イアン。 – Baramin