comparison chapter3.tex @ 8:b75c564064a8 default tip

fix undefined reference , multiply defined references
author Shoshi TAMAKI
date Thu, 21 Feb 2013 22:53:20 +0900
parents 44a95cddab8a
children
comparison
equal deleted inserted replaced
7:44a95cddab8a 8:b75c564064a8
28 jungle.createTreeメソッドを利用して木構造を作成する. もし, すでに木構造が存在している場合は, nullが返される. 28 jungle.createTreeメソッドを利用して木構造を作成する. もし, すでに木構造が存在している場合は, nullが返される.
29 29
30 \subsubsection{木と木を構成するノード} 30 \subsubsection{木と木を構成するノード}
31 データベースオブジェクトを作成し, 木構造とルートノードを取得するためには以下のように記述する. 31 データベースオブジェクトを作成し, 木構造とルートノードを取得するためには以下のように記述する.
32 32
33 \begin{lstlisting}[frame=lrbt,label=src:create_jungle,caption=木とノードの取得,numbers=left] 33 \begin{lstlisting}[frame=lrbt,label=src:get_jungle,caption=木とノードの取得,numbers=left]
34 /* データベースの取得まで省略 */ 34 /* データベースの取得まで省略 */
35 JungleTree tree = jungle.getTreeByName("your tree name here"); 35 JungleTree tree = jungle.getTreeByName("your tree name here");
36 36
37 Node root = tree.getRootNode(); 37 Node root = tree.getRootNode();
38 38
128 \subsubsection{木のトラバース} 128 \subsubsection{木のトラバース}
129 木をトラバースするためには, Traverserを利用する. Traverserは木を対象にせずNodeを対象に取るため, 木の任意の部分から走査を始めることが可能である. 129 木をトラバースするためには, Traverserを利用する. Traverserは木を対象にせずNodeを対象に取るため, 木の任意の部分から走査を始めることが可能である.
130 Traverserは目的のノードまでに通ったノードをすべて列挙するため, JungleTreeEditorはNodePathとTraverserを用いて編集対象のノードまでの全てのノードを取得している. 130 Traverserは目的のノードまでに通ったノードをすべて列挙するため, JungleTreeEditorはNodePathとTraverserを用いて編集対象のノードまでの全てのノードを取得している.
131 以下のコードはNodePathを用いて目的のノードまでをトラバースするコードである. 131 以下のコードはNodePathを用いて目的のノードまでをトラバースするコードである.
132 132
133 \begin{lstlisting}[frame=lrbt,label=src:nodeeditor,caption=NodePathを用いた木のトラバース,numbers=left] 133 \begin{lstlisting}[frame=lrbt,label=src:tree_traverse,caption=NodePathを用いた木のトラバース,numbers=left]
134 /* データベースの取得まで省略 */ 134 /* データベースの取得まで省略 */
135 JungleTree tree = jungle.getTreeByName("your tree name here"); 135 JungleTree tree = jungle.getTreeByName("your tree name here");
136 136
137 DefaultNodePath path = new DefaultNodePath(); 137 DefaultNodePath path = new DefaultNodePath();
138 path = path.add(1).add(2).add(3); 138 path = path.add(1).add(2).add(3);
398 \subsubsection{TreeEditor} 398 \subsubsection{TreeEditor}
399 TreeEditorは, TreeNodeで構成される木を編集するための操作が定義されているインターフェイスである. 399 TreeEditorは, TreeNodeで構成される木を編集するための操作が定義されているインターフェイスである.
400 NodePathと呼ばれるルートNodeから編集対象のNodeまでのパスとNodeEditorを引数として受け取り, 非破壊的に編集する. 400 NodePathと呼ばれるルートNodeから編集対象のNodeまでのパスとNodeEditorを引数として受け取り, 非破壊的に編集する.
401 TreeEditorの定義を以下に示す. 401 TreeEditorの定義を以下に示す.
402 402
403 \begin{lstlisting}[frame=lrbt,label=src:definition_of_treenodechildren,caption=TreeNodeChildrenの定義,numbers=left] 403 \begin{lstlisting}[frame=lrbt,label=src:definition_of_treeeditor,caption=TreeEditorの定義,numbers=left]
404 public interface TreeEditor { 404 public interface TreeEditor {
405 public <T extends TreeNode<T>> Either<Error,T> edit(T root,NodePath,NodeEditor editor); 405 public <T extends TreeNode<T>> Either<Error,T> edit(T root,NodePath,NodeEditor editor);
406 } 406 }
407 \end{lstlisting} 407 \end{lstlisting}
408 408
457 public Result result(); 457 public Result result();
458 public Evaluator evaluator(); 458 public Evaluator evaluator();
459 } 459 }
460 \end{lstlisting} 460 \end{lstlisting}
461 461
462 Evaluationのresultメソッドは, このNodeの評価結果を表すEnum型のクラスResultを返す. 表\ref{tab:evalaution_result}に評価の種類を示す. 462 Evaluationのresultメソッドは, このNodeの評価結果を表すEnum型のクラスResultを返す. 表\ref{tab:evaluation_result}に評価の種類を示す.
463 463
464 \begin{table}[!htbp] 464 \begin{table}[!htbp]
465 \caption{Evalautionの結果一覧} 465 \caption{Evalautionの結果一覧}
466 \label{tab:evaluation_result} 466 \label{tab:evaluation_result}
467 \begin{center} 467 \begin{center}