4. 計算や処理を行わせる: 7) 高度なスクリプト記述 (4) refer() 関数:親子関係に無いノードを参照
← [4. 計算や処理を行わせる: 7) 高度なスクリプト記述 (3) 修飾子 ノードのNameプロパティ+".":複数の親ノードの識別]へ戻る | ↑ [目次]へ戻る | [4. 計算や処理を行わせる: 7) 高度なスクリプト記述 (5) 日付・時刻の処理]へ進む →
■このページで説明している内容
e) 親子関係に無いノードを参照するrefer() 関数
e) 親子関係に無いノードを参照するrefer() 関数
ここまでは、修飾子によって親子関係にあるノードを特定し、そのノードが持つエレメントを参照可能にしていました。しかし、親子関係に無いノードのエレメントの値を参照したい場合には、どのようにすればよいでしょうか?修飾子ではありませんが、関数 refer() を利用することで、親子関係にあるかどうかに関係なく、任意のノードのエレメントを参照することができます。
実際の例を見てみましょう。
このプロジェクトには、お互いに接続していない2つのノードツリーがあります。
(図4.7.e-1) 「仕様」ノードの定義
一つ目のツリーは、
[手順1] - [手順2] - [手順3]
もう一方のツリーは、
[仕様] - [詳細]
というノードからそれぞれ構成されています。
(図4.7.e-2) 「詳細」ノードの定義
このように「手順3」ノードから、接続していない「仕様」ノードや「詳細」ノードのエレメントを参照するためには、以下のように記述します。
数量=refer("仕様", "数量");
加工寸法=refer("仕様.詳細","寸法C");
(図4.7.e-3) 「手順3」ノードの定義
refer()関数は2つの引数を取ります。
最初の引数は、ノードのフルネーム
2番目の引数は、参照したいエレメント名
です。
この例では、
・「仕様」ノードからはエレメント"数量"の値を
・「詳細」ノードからはエレメント"寸法C"の値を
それぞれ取得しています。
← [4. 計算や処理を行わせる: 7) 高度なスクリプト記述 (3) 修飾子 ノードのNameプロパティ+".":複数の親ノードの識別]へ戻る | ↑ [目次]へ戻る | [4. 計算や処理を行わせる: 7) 高度なスクリプト記述 (5) 日付・時刻の処理]へ進む →


