甲府方重信Blog

...Shigenobu Koufugatas Blog

  • Increase font size
  • Default font size
  • Decrease font size
Error
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
Home 業務日誌 Adaプログラミング Adaチュートリアル セクション12.4 - アクセス値の利用

Adaチュートリアル セクション12.4 - アクセス値の利用

E-mail Print PDF

セクション 12.4 - アクセス値の利用

アクセス型について一通り見てきましたので、プログラマーはこれに関して興味深い事柄すべてについて利用可能となった訳です。

アクセス型の共通した利用方法の一つは、各データ項目についてなにか作業したいノードのリストを「歩いて」降りることです。各ノードを順に調べるサブプログラムは、時々、イタレーターと呼ばれることがあります。ここでは、List_Nodesのリスト内のノード一つ一つの値を順にプリントする例を掲載します。

  -- Assume that "Start" accesses the first node in the list.
  Current := Start;  -- Set current to the start of the list.
  while Current /= null loop -- while there is data:
    Put(Current.Data);       -- Print the value of the Current node.
    Current := Current.Next; -- Go to the next node in the list.
  end loop;

プログラマーは、一つのノードに複数のアクセス値を格納することにより、今まで見てきた単純なリスト以上複雑なデータ構造を持つことが出来ます。たとえば、二進木は、各ノードが「親」ノードを持ち、「左の子」ノードと「右の子」ノードを持つようなノードの集合です。各ノードはまた、データを格納します。(例えば、Unbounded_Stringです) アクセス値を使えば、二進木ノードに対するレコードの定義は単純です。

  type Tree_Node; -- Incomplete type declaration.
  type Tree_Access is access Tree_Node;
  type Tree_Node is
    record
      Parent      : Tree_Access;
      Left, Right : Tree_Access;
      Data        : Unbounded_String;
    end record;

ここでは、AとBがTree_Access型として、この二進木データ構造を使用した文の例を掲載します。

  A := new Tree_Node;
  B := new Tree_Node;
  A.Data := To_Unbounded_String("Hello!");   -- assign some data
  B.Data := To_Unbounded_String("Goodbye!");
  A.Left := B;                               -- connect them.
  B.Parent := A;

データコンポーネントがアクセス値の場合、プログラマーはその他のすべてのアクセス値としてもそれを使用することが出来ます。この結果として、プログラマーは複数のドットを、それらの中で使用することが出来ます。例えば、上記のプログラムを実行させた後で、A.Left.Dataの値は「Goodbye!」となります。

アクセス型を正しく使わず、間違った方法でものを接続してしまうのは簡単です。そのため、「ただしく接続」するためのサブプログラムを作成することがまず第一で、その次に、そのサブプログラムを利用するのです。例えば、プログラマーが自動的に新しいノードを生成し、それらのデータ値を設定し、既存のノードと正しい場所にそれらを接続させるようなサブプログラムを作成することがあります。最善の方法としては、もしプログラマーが必要としているような要求に見合う事前に作成されていおり再利用可能なコンポーネントがあれば、それを使用するということです。

出典: http://www.adahome.com/Tutorials/Lovelace/s12s4.htm

Last Updated on Friday, 06 April 2012 15:07  

ニュース速報

ウェブサイトについてひとつ言えば、それは常に変化するということです!Joomla!は記事やコンテンツ、イメージやビデオ等の追加を簡単に行えます。サイト管理者は'コンテンツ内'に表示される '編集' リンクをクリックすることでコンテンツを編集し管理することができます。ウェブマスターはまた、サイトを完全にコントロールできるグラフィカルなコントロールパネルからコンテンツを編集できます。