1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <html xmlns="http://www.w3.org/1999/xhtml">
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9 <title>入れ子構造の宣言型プログラミング — プログラミング言語 Ring 1.12 取扱説明書</title>
11 <link rel="stylesheet" href="_static/bootstrap-astropy.css" type="text/css" />
12 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
14 <script type="text/javascript">
15 var DOCUMENTATION_OPTIONS = {
18 COLLAPSE_INDEX: false,
23 <script type="text/javascript" src="_static/jquery.js"></script>
24 <script type="text/javascript" src="_static/underscore.js"></script>
25 <script type="text/javascript" src="_static/doctools.js"></script>
26 <script type="text/javascript" src="_static/translations.js"></script>
27 <link rel="top" title="プログラミング言語 Ring 1.12 取扱説明書" href="index.html" />
28 <link rel="next" title="自然言語プログラミング" href="natural.html" />
29 <link rel="prev" title="Stdlib クラス" href="stdlibclasses.html" />
30 <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,600' rel='stylesheet' type='text/css'/>
33 <body role="document">
35 <a class="brand" title="Documentation Home" href="index.html"><span id="logotext1">🍩Ring</span><span id="logotext2"> 1.12</span><span id="logotext3">:docs</span></a>
38 <li><a href="http://ring-lang.sourceforge.net/news.html">News</a></li>
39 <li><a href="http://ring-lang.sourceforge.net/download.html">Download</a></li>
40 <li><a href="https://groups.google.com/forum/#!forum/ring-lang">Get Help</a></li>
41 <li><a href="https://github.com/ring-lang/ring">Contribute</a></li>
42 <li><a href="http://ring-lang.sourceforge.net/resources.html">Resources</a></li>
43 <li><a href="http://ring-lang.sourceforge.net/team.html">Team</a></li>
45 <li><a title="Ring Homepage" href="http://ring-lang.net/">Website</a></li>
46 <li><a title="総合索引" href="genindex.html">Index</a></li>
50 <form action="search.html" method="get">
51 <input type="text" name="q" placeholder="Search" />
52 <input type="hidden" name="check_keywords" value="yes" />
53 <input type="hidden" name="area" value="default" />
64 <a href="natural.html" title="自然言語プログラミング">
69 <a href="stdlibclasses.html" title="Stdlib クラス">
75 <a href="index.html">プログラミング言語 Ring 1.12 取扱説明書</a>
79 <li>入れ子構造の宣言型プログラミング</li>
84 <div class="document">
85 <div class="documentwrapper">
86 <div class="bodywrapper">
87 <div class="body" role="main">
89 <div class="section" id="index-0">
90 <span id="id1"></span><h1>入れ子構造の宣言型プログラミング<a class="headerlink" href="#index-0" title="このヘッドラインへのパーマリンク">¶</a></h1>
91 <p>オブジェクト指向による入れ子構造の宣言型プログラミング環境の構築方法を学びます。</p>
93 <li>リストへオブジェクトを作成するには</li>
94 <li>コンポジションと参照によりオブジェクトとリストを返すには</li>
95 <li>オブジェクトのアクセス完了後にコードを実行するには</li>
96 <li>オブジェクト指向による宣言型プログラミング</li>
98 <div class="section" id="index-1">
99 <span id="id2"></span><h2>リストへオブジェクトを作成するには<a class="headerlink" href="#index-1" title="このヘッドラインへのパーマリンク">¶</a></h2>
100 <p>リストの定義時にリストへオブジェクトを作成できます。</p>
101 <p>Add() 関数、または + 演算子により、必要なときにオブジェクトをリストへ追加できます。</p>
103 <div class="highlight-ring"><div class="highlight"><pre><span class="n">alist</span> <span class="o">=</span> <span class="o">[</span><span class="k">new</span> <span class="n">point</span><span class="p">,</span> <span class="k">new</span> <span class="n">point</span><span class="p">,</span> <span class="k">new</span> <span class="n">point</span><span class="o">]</span> <span class="c"># # オブジェクトが三つあるリストを作成します。</span>
105 <span class="n">alist</span> <span class="o">+</span> <span class="o">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="o">]</span> <span class="c"># 別の項目をリストへ追加します。</span>
107 <span class="k">see</span> <span class="s">"Item 4 is a list contains 3 items"</span> <span class="o">+</span> <span class="n">nl</span>
108 <span class="k">see</span> <span class="n">alist</span><span class="o">[</span><span class="mi">4</span><span class="o">]</span>
110 <span class="n">add</span><span class="p">(</span><span class="n">alist</span> <span class="p">,</span> <span class="k">new</span> <span class="n">point</span><span class="p">)</span>
111 <span class="n">alist</span> <span class="o">+</span> <span class="k">new</span> <span class="n">point</span>
113 <span class="n">alist</span><span class="o">[</span><span class="mi">5</span><span class="o">]</span> <span class="p">{</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">100</span> <span class="n">y</span> <span class="o">=</span> <span class="mi">200</span> <span class="n">z</span> <span class="o">=</span> <span class="mi">300</span> <span class="p">}</span>
114 <span class="n">alist</span><span class="o">[</span><span class="mi">6</span><span class="o">]</span> <span class="p">{</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">50</span> <span class="n">y</span> <span class="o">=</span> <span class="mi">150</span> <span class="n">z</span> <span class="o">=</span> <span class="mi">250</span> <span class="p">}</span>
116 <span class="k">see</span> <span class="s">"Object inside item 5"</span> <span class="o">+</span> <span class="n">nl</span>
117 <span class="k">see</span> <span class="n">alist</span><span class="o">[</span><span class="mi">5</span><span class="o">]</span>
118 <span class="k">see</span> <span class="s">"Object inside item 6"</span> <span class="o">+</span> <span class="n">nl</span>
119 <span class="k">see</span> <span class="n">alist</span><span class="o">[</span><span class="mi">6</span><span class="o">]</span>
121 <span class="k">class</span> <span class="n">point</span> <span class="n">x</span> <span class="n">y</span> <span class="n">z</span>
125 <div class="highlight-ring"><div class="highlight"><pre><span class="n">Item</span> <span class="mi">4</span> <span class="n">is</span> <span class="n">a</span> <span class="kt">list</span> <span class="n">contains</span> <span class="mi">3</span> <span class="n">items</span>
126 <span class="mi">1</span>
127 <span class="mi">2</span>
128 <span class="mi">3</span>
129 <span class="n">Object</span> <span class="n">inside</span> <span class="n">item</span> <span class="mi">5</span>
130 <span class="n">x</span><span class="p">:</span> <span class="mf">100.000000</span>
131 <span class="n">y</span><span class="p">:</span> <span class="mf">200.000000</span>
132 <span class="n">z</span><span class="p">:</span> <span class="mf">300.000000</span>
133 <span class="n">Object</span> <span class="n">inside</span> <span class="n">item</span> <span class="mi">6</span>
134 <span class="n">x</span><span class="p">:</span> <span class="mf">50.000000</span>
135 <span class="n">y</span><span class="p">:</span> <span class="mf">150.000000</span>
136 <span class="n">z</span><span class="p">:</span> <span class="mf">250.000000</span>
140 <div class="section" id="index-2">
141 <span id="id3"></span><h2>コンポジションと参照によりオブジェクトとリストを返すには<a class="headerlink" href="#index-2" title="このヘッドラインへのパーマリンク">¶</a></h2>
142 <p>コンポジションの使用とクラス属性のオブジェクトがある場合、オブジェクトの返値は参照で返します。</p>
143 <p>呼び出し元で代入演算子を使う場合は、オブジェクトのコピーを作成します。</p>
144 <p>呼び出し元で代入演算子を使わない場合は、参照で返されたオブジェクトへ直接アクセスできます。</p>
145 <p>また、属性がリスト (オブジェクトではありません) でも同じ処理が適用されます。</p>
146 <div class="admonition note">
147 <p class="first admonition-title">注釈</p>
148 <p class="last">オブジェクト、およびリストは同じ規則で処理します。
150 関数から返すときは、参照で返されたオブジェクト属性を除き値返しになります。</p>
153 <div class="highlight-ring"><div class="highlight"><pre><span class="n">o1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Container</span>
154 <span class="n">myobj</span> <span class="o">=</span> <span class="n">o1</span><span class="p">.</span><span class="n">addobj</span><span class="p">()</span> <span class="c"># 別のコピーを代入で作成します。</span>
155 <span class="n">myobj</span><span class="p">.</span><span class="n">x</span> <span class="o">=</span> <span class="mi">100</span>
156 <span class="n">myobj</span><span class="p">.</span><span class="n">y</span> <span class="o">=</span> <span class="mi">200</span>
157 <span class="n">myobj</span><span class="p">.</span><span class="n">z</span> <span class="o">=</span> <span class="mi">300</span>
158 <span class="k">see</span> <span class="n">o1</span><span class="p">.</span><span class="n">aobjs</span><span class="o">[</span><span class="mi">1</span><span class="o">]</span> <span class="c"># コンテナにあるオブジェクトを表示します。</span>
159 <span class="k">see</span> <span class="n">myobj</span> <span class="c"># コピーの表示</span>
161 <span class="k">Class</span> <span class="n">Container</span>
162 <span class="n">aObjs</span> <span class="o">=</span> <span class="o">[]</span>
163 <span class="k">func</span> <span class="n">addobj</span>
164 <span class="n">aobjs</span> <span class="o">+</span> <span class="k">new</span> <span class="n">point</span>
165 <span class="k">return</span> <span class="n">aobjs</span><span class="o">[</span><span class="n">len</span><span class="p">(</span><span class="n">aobjs</span><span class="p">)</span><span class="o">]</span> <span class="c"># オブジェクトを参照で返します。</span>
167 <span class="k">Class</span> <span class="n">point</span>
168 <span class="n">x</span> <span class="o">=</span> <span class="mi">10</span>
169 <span class="n">y</span> <span class="o">=</span> <span class="mi">20</span>
170 <span class="n">z</span> <span class="o">=</span> <span class="mi">30</span>
174 <div class="highlight-ring"><div class="highlight"><pre><span class="n">x</span><span class="p">:</span> <span class="mf">10.000000</span>
175 <span class="n">y</span><span class="p">:</span> <span class="mf">20.000000</span>
176 <span class="n">z</span><span class="p">:</span> <span class="mf">30.000000</span>
177 <span class="n">x</span><span class="p">:</span> <span class="mf">100.000000</span>
178 <span class="n">y</span><span class="p">:</span> <span class="mf">200.000000</span>
179 <span class="n">z</span><span class="p">:</span> <span class="mf">300.000000</span>
183 <div class="highlight-ring"><div class="highlight"><pre><span class="k">func</span> <span class="n">main</span>
184 <span class="n">o1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">screen</span> <span class="p">{</span>
185 <span class="n">content</span><span class="o">[</span><span class="n">point</span><span class="p">()</span><span class="o">]</span> <span class="p">{</span>
186 <span class="n">x</span> <span class="o">=</span> <span class="mi">100</span>
187 <span class="n">y</span> <span class="o">=</span> <span class="mi">200</span>
188 <span class="n">z</span> <span class="o">=</span> <span class="mi">300</span>
189 <span class="p">}</span>
190 <span class="n">content</span><span class="o">[</span><span class="n">point</span><span class="p">()</span><span class="o">]</span> <span class="p">{</span>
191 <span class="n">x</span> <span class="o">=</span> <span class="mi">50</span>
192 <span class="n">y</span> <span class="o">=</span> <span class="mi">150</span>
193 <span class="n">z</span> <span class="o">=</span> <span class="mi">250</span>
194 <span class="p">}</span>
195 <span class="p">}</span>
196 <span class="k">see</span> <span class="n">o1</span><span class="p">.</span><span class="n">content</span><span class="o">[</span><span class="mi">1</span><span class="o">]</span>
197 <span class="k">see</span> <span class="n">o1</span><span class="p">.</span><span class="n">content</span><span class="o">[</span><span class="mi">2</span><span class="o">]</span>
199 <span class="k">Class</span> <span class="n">Screen</span>
200 <span class="n">content</span> <span class="o">=</span> <span class="o">[]</span>
201 <span class="k">func</span> <span class="n">point</span>
202 <span class="n">content</span> <span class="o">+</span> <span class="k">new</span> <span class="n">point</span>
203 <span class="k">return</span> <span class="n">len</span><span class="p">(</span><span class="n">content</span><span class="p">)</span>
205 <span class="k">Class</span> <span class="n">point</span>
206 <span class="n">x</span> <span class="o">=</span> <span class="mi">10</span>
207 <span class="n">y</span> <span class="o">=</span> <span class="mi">20</span>
208 <span class="n">z</span> <span class="o">=</span> <span class="mi">30</span>
212 <div class="highlight-ring"><div class="highlight"><pre><span class="n">x</span><span class="p">:</span> <span class="mf">100.000000</span>
213 <span class="n">y</span><span class="p">:</span> <span class="mf">200.000000</span>
214 <span class="n">z</span><span class="p">:</span> <span class="mf">300.000000</span>
215 <span class="n">x</span><span class="p">:</span> <span class="mf">50.000000</span>
216 <span class="n">y</span><span class="p">:</span> <span class="mf">150.000000</span>
217 <span class="n">z</span><span class="p">:</span> <span class="mf">250.000000</span>
221 <div class="highlight-ring"><div class="highlight"><pre><span class="k">func</span> <span class="n">main</span>
222 <span class="n">o1</span> <span class="o">=</span> <span class="k">New</span> <span class="n">Screen</span> <span class="p">{</span>
223 <span class="n">point</span><span class="p">()</span> <span class="p">{</span> <span class="c"># 参照でオブジェクトへアクセスします。</span>
224 <span class="n">x</span> <span class="o">=</span> <span class="mi">100</span>
225 <span class="n">y</span> <span class="o">=</span> <span class="mi">200</span>
226 <span class="n">z</span> <span class="o">=</span> <span class="mi">300</span>
227 <span class="p">}</span>
228 <span class="n">point</span><span class="p">()</span> <span class="p">{</span> <span class="c"># 参照でオブジェクトへアクセスします。</span>
229 <span class="n">x</span> <span class="o">=</span> <span class="mi">50</span>
230 <span class="n">y</span> <span class="o">=</span> <span class="mi">150</span>
231 <span class="n">z</span> <span class="o">=</span> <span class="mi">250</span>
232 <span class="p">}</span>
233 <span class="p">}</span>
234 <span class="k">see</span> <span class="n">o1</span><span class="p">.</span><span class="n">content</span><span class="o">[</span><span class="mi">1</span><span class="o">]</span>
235 <span class="k">see</span> <span class="n">o1</span><span class="p">.</span><span class="n">content</span><span class="o">[</span><span class="mi">2</span><span class="o">]</span>
237 <span class="k">Class</span> <span class="n">Screen</span>
238 <span class="n">content</span> <span class="o">=</span> <span class="o">[]</span>
239 <span class="k">func</span> <span class="n">point</span>
240 <span class="n">content</span> <span class="o">+</span> <span class="k">new</span> <span class="n">point</span>
241 <span class="k">return</span> <span class="n">content</span><span class="o">[</span><span class="n">len</span><span class="p">(</span><span class="n">content</span><span class="p">)</span><span class="o">]</span> <span class="c"># オブジェクトを参照で返します。</span>
243 <span class="k">Class</span> <span class="n">point</span> <span class="n">x</span><span class="o">=</span><span class="mi">10</span> <span class="n">y</span><span class="o">=</span><span class="mi">20</span> <span class="n">z</span><span class="o">=</span><span class="mi">30</span>
247 <div class="highlight-ring"><div class="highlight"><pre><span class="n">x</span><span class="p">:</span> <span class="mf">100.000000</span>
248 <span class="n">y</span><span class="p">:</span> <span class="mf">200.000000</span>
249 <span class="n">z</span><span class="p">:</span> <span class="mf">300.000000</span>
250 <span class="n">x</span><span class="p">:</span> <span class="mf">50.000000</span>
251 <span class="n">y</span><span class="p">:</span> <span class="mf">150.000000</span>
252 <span class="n">z</span><span class="p">:</span> <span class="mf">250.000000</span>
256 <div class="section" id="index-3">
257 <span id="id4"></span><h2>オブジェクトのアクセス完了後にコードを実行するには<a class="headerlink" href="#index-3" title="このヘッドラインへのパーマリンク">¶</a></h2>
258 <p>オブジェクト属性とメソッドを使うには { } でオブジェクトへアクセスします。</p>
259 <p>オブジェクトに BraceEnd() メソッドがある場合は、オブジェクトのアクセス完了直前に実行します。</p>
261 <div class="highlight-ring"><div class="highlight"><pre><span class="k">New</span> <span class="n">Point</span> <span class="p">{</span> <span class="k">See</span> <span class="s">"How are you?"</span> <span class="o">+</span> <span class="n">nl</span> <span class="p">}</span>
263 <span class="k">Class</span> <span class="n">Point</span> <span class="n">x</span> <span class="n">y</span> <span class="n">z</span>
264 <span class="k">func</span> <span class="n">braceend</span>
265 <span class="k">see</span> <span class="s">"I'm fine, Thank you!"</span> <span class="o">+</span> <span class="n">nl</span>
269 <div class="highlight-ring"><div class="highlight"><pre><span class="n">How</span> <span class="n">are</span> <span class="n">you</span><span class="o">?</span>
270 <span class="n">I</span><span class="sc">'m fine, Thank you!</span>
274 <div class="section" id="index-4">
275 <span id="id5"></span><h2>オブジェクト指向による宣言型プログラミング<a class="headerlink" href="#index-4" title="このヘッドラインへのパーマリンク">¶</a></h2>
276 <p>この機能でオブジェクト指向による入れ子構造の宣言型プログラミング環境の構築と使用を可能にします。</p>
278 <li>{ } によるオブジェクト属性、およびメソッドへのアクセス</li>
279 <li>BraceEnd() メソッド</li>
280 <li>参照によるオブジェクト返し</li>
281 <li>Setter (セッター) / Getter (ゲッター) メソッド (オプション扱い)</li>
284 <div class="highlight-ring"><div class="highlight"><pre><span class="c"># 宣言型プログラミング (入れ子構造)</span>
286 <span class="n">Screen</span><span class="p">()</span>
287 <span class="p">{</span>
289 <span class="n">point</span><span class="p">()</span>
290 <span class="p">{</span>
291 <span class="n">x</span> <span class="o">=</span> <span class="mi">100</span>
292 <span class="n">y</span> <span class="o">=</span> <span class="mi">200</span>
293 <span class="n">z</span> <span class="o">=</span> <span class="mi">300</span>
294 <span class="p">}</span>
296 <span class="n">point</span><span class="p">()</span>
297 <span class="p">{</span>
298 <span class="n">x</span> <span class="o">=</span> <span class="mi">50</span>
299 <span class="n">y</span> <span class="o">=</span> <span class="mi">150</span>
300 <span class="n">z</span> <span class="o">=</span> <span class="mi">250</span>
301 <span class="p">}</span>
302 <span class="p">}</span>
304 <span class="c"># 関数とクラス</span>
306 <span class="k">Func</span> <span class="n">screen</span> <span class="k">return</span> <span class="k">new</span> <span class="n">screen</span>
308 <span class="k">Class</span> <span class="n">Screen</span>
310 <span class="n">content</span> <span class="o">=</span> <span class="o">[]</span>
312 <span class="k">func</span> <span class="n">point</span>
313 <span class="n">content</span> <span class="o">+</span> <span class="k">new</span> <span class="n">point</span>
314 <span class="k">return</span> <span class="n">content</span><span class="o">[</span><span class="n">len</span><span class="p">(</span><span class="n">content</span><span class="p">)</span><span class="o">]</span>
316 <span class="k">func</span> <span class="n">braceend</span>
317 <span class="k">see</span> <span class="s">"I have "</span> <span class="o">+</span> <span class="n">len</span><span class="p">(</span><span class="n">content</span><span class="p">)</span> <span class="o">+</span> <span class="s">" points!"</span>
319 <span class="k">Class</span> <span class="n">point</span>
321 <span class="n">x</span><span class="o">=</span><span class="mi">10</span> <span class="n">y</span><span class="o">=</span><span class="mi">20</span> <span class="n">z</span><span class="o">=</span><span class="mi">30</span>
323 <span class="k">func</span> <span class="n">braceend</span>
324 <span class="k">see</span> <span class="n">self</span>
328 <div class="highlight-ring"><div class="highlight"><pre><span class="n">x</span><span class="p">:</span> <span class="mf">100.000000</span>
329 <span class="n">y</span><span class="p">:</span> <span class="mf">200.000000</span>
330 <span class="n">z</span><span class="p">:</span> <span class="mf">300.000000</span>
331 <span class="n">x</span><span class="p">:</span> <span class="mf">50.000000</span>
332 <span class="n">y</span><span class="p">:</span> <span class="mf">150.000000</span>
333 <span class="n">z</span><span class="p">:</span> <span class="mf">250.000000</span>
334 <span class="n">I</span> <span class="n">have</span> <span class="mi">2</span> <span class="n">points</span><span class="o">!</span>
338 <div class="section" id="index-5">
339 <span id="id6"></span><h2>コード品質の向上<a class="headerlink" href="#index-5" title="このヘッドラインへのパーマリンク">¶</a></h2>
340 <p>メソッドで仮引数を使わないときは、メソッド名末尾の () を省略できます。これにより、コード品質の向上になります。
341 この機能はオブジェクトメソッドとオブジェクト属性との機能に違いがあるため Ring では使えません。
342 オブジェクト属性へ Getter メソッドを定義するとき、同様の効果をコードの構文で実現できます。
343 例えば point() メソッドの定義ではなく point 属性値の取得で実行される
344 getpoint() メソッドを point 属性として定義します。変数名は () を省略できるため、
345 point() ではなく point と記述します。
346 getpoint() メソッドはオブジェクトの作成、およびオブジェクトの参照を返します。</p>
348 <div class="highlight-ring"><div class="highlight"><pre><span class="k">new</span> <span class="n">Container</span>
349 <span class="p">{</span>
350 <span class="n">Point</span>
351 <span class="p">{</span>
352 <span class="n">x</span><span class="o">=</span><span class="mi">10</span>
353 <span class="n">y</span><span class="o">=</span><span class="mi">20</span>
354 <span class="n">z</span><span class="o">=</span><span class="mi">30</span>
355 <span class="p">}</span>
356 <span class="p">}</span>
358 <span class="k">Class</span> <span class="n">Container</span>
359 <span class="n">aObjs</span> <span class="o">=</span> <span class="o">[]</span>
360 <span class="n">point</span>
361 <span class="k">func</span> <span class="n">getpoint</span>
362 <span class="n">aObjs</span> <span class="o">+</span> <span class="k">new</span> <span class="n">Point</span>
363 <span class="k">return</span> <span class="n">aObjs</span><span class="o">[</span><span class="n">len</span><span class="p">(</span><span class="n">aObjs</span><span class="p">)</span><span class="o">]</span>
365 <span class="k">Class</span> <span class="n">Point</span> <span class="n">x</span> <span class="n">y</span> <span class="n">z</span>
366 <span class="k">func</span> <span class="n">braceend</span>
367 <span class="k">see</span> <span class="s">"3D Point"</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span> <span class="n">x</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span> <span class="n">y</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span> <span class="n">z</span> <span class="o">+</span> <span class="n">nl</span>
371 <div class="highlight-ring"><div class="highlight"><pre>3D Point
384 <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
385 <div class="sphinxsidebarwrapper"><h3>ページの内容</h3>
387 <li><a class="reference internal" href="#">入れ子構造の宣言型プログラミング</a><ul>
388 <li><a class="reference internal" href="#index-1">リストへオブジェクトを作成するには</a></li>
389 <li><a class="reference internal" href="#index-2">コンポジションと参照によりオブジェクトとリストを返すには</a></li>
390 <li><a class="reference internal" href="#index-3">オブジェクトのアクセス完了後にコードを実行するには</a></li>
391 <li><a class="reference internal" href="#index-4">オブジェクト指向による宣言型プログラミング</a></li>
392 <li><a class="reference internal" href="#index-5">コード品質の向上</a></li>
399 <p class="topless"><a href="stdlibclasses.html"
400 title="前の章へ">Stdlib クラス</a></p>
402 <p class="topless"><a href="natural.html"
403 title="次の章へ">自然言語プログラミング</a></p>
404 <div role="note" aria-label="source link">
406 <ul class="this-page-menu">
407 <li><a href="_sources/declarative.txt"
408 rel="nofollow">ソースコードを表示</a></li>
412 <form action="search.html" method="get">
413 <input type="text" name="q" placeholder="Search" />
414 <input type="hidden" name="check_keywords" value="yes" />
415 <input type="hidden" name="area" value="default" />
420 <div class="clearer"></div>
422 <footer class="footer">
423 <p class="pull-right">
424 <a href="_sources/declarative.txt"
425 rel="nofollow">Page Source</a>
426 <a href="#">Back to Top</a></p>
428 © Copyright 2016-2020, Ring Team.<br/>
429 Created using <a href="http://www.sphinx-doc.org/en/stable/">Sphinx</a> 1.3.6. / astropy-sphinx-theme 1.1 (isVowel)