OSDN Git Service

タグを打ち忘れていたついでに、html版ドキュメントを追加しました。
[ring-lang-081/ring.git] / docs / build / html / metaprog.html
diff --git a/docs/build/html/metaprog.html b/docs/build/html/metaprog.html
new file mode 100644 (file)
index 0000000..d576f2f
--- /dev/null
@@ -0,0 +1,1120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>リフレクションとメタプログラミング &mdash; プログラミング言語 Ring 1.12 取扱説明書</title>
+    
+    <link rel="stylesheet" href="_static/bootstrap-astropy.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '1.12',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="_static/translations.js"></script>
+    <link rel="top" title="プログラミング言語 Ring 1.12 取扱説明書" href="index.html" />
+    <link rel="next" title="Stdlib 関数" href="stdlib.html" />
+    <link rel="prev" title="関数型プログラミング" href="fp.html" />
+    <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,600' rel='stylesheet' type='text/css'/>
+
+  </head>
+  <body role="document">
+<div class="topbar">
+  <a class="brand" title="Documentation Home" href="index.html"><span id="logotext1">&#x1f369;Ring</span><span id="logotext2"> 1.12</span><span id="logotext3">:docs</span></a>
+  <ul>
+    
+    <li><a href="http://ring-lang.sourceforge.net/news.html">News</a></li>
+    <li><a href="http://ring-lang.sourceforge.net/download.html">Download</a></li>
+    <li><a href="https://groups.google.com/forum/#!forum/ring-lang">Get Help</a></li>
+    <li><a href="https://github.com/ring-lang/ring">Contribute</a></li>
+    <li><a href="http://ring-lang.sourceforge.net/resources.html">Resources</a></li>
+    <li><a href="http://ring-lang.sourceforge.net/team.html">Team</a></li>
+    
+    <li><a title="Ring Homepage" href="http://ring-lang.net/">Website</a></li>
+    <li><a title="総合索引" href="genindex.html">Index</a></li>
+    <li>
+      
+      
+<form action="search.html" method="get">
+  <input type="text" name="q" placeholder="Search" />
+  <input type="hidden" name="check_keywords" value="yes" />
+  <input type="hidden" name="area" value="default" />
+</form>
+      
+    </li>
+  </ul>
+</div>
+
+<div class="related">
+    <h3>ナビゲーション</h3>
+    <ul>
+      <li class="right">
+       <a href="stdlib.html" title="Stdlib 関数">
+         next &raquo;
+       </a>
+      </li>
+      <li class="right">
+       <a href="fp.html" title="関数型プログラミング">
+         &laquo; previous
+       </a>
+        |
+      </li>
+      <li>
+       <a href="index.html">プログラミング言語 Ring 1.12 取扱説明書</a>
+        &raquo;
+      </li>
+      
+      <li>リフレクションとメタプログラミング</li> 
+    </ul>
+</div>
+  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <div class="section" id="index-0">
+<span id="id1"></span><h1>リフレクションとメタプログラミング<a class="headerlink" href="#index-0" title="このヘッドラインへのパーマリンク">¶</a></h1>
+<p>Ring は動的プログラミング言語であり、プログラムのコードに関する応答を得られます。
+さらに、実行中にコードを変更できます。</p>
+<p>本題、および利用可能な関数の用法を学びます。</p>
+<ul class="simple">
+<li>locals()</li>
+<li>globals()</li>
+<li>functions()</li>
+<li>cfunctions()</li>
+<li>islocal()</li>
+<li>isglobal()</li>
+<li>isfunction()</li>
+<li>iscfunction()</li>
+<li>packages()</li>
+<li>ispackage()</li>
+<li>classes()</li>
+<li>isclass()</li>
+<li>packageclasses()</li>
+<li>ispackageclass()</li>
+<li>classname()</li>
+<li>objectid()</li>
+<li>isobject()</li>
+<li>attributes()</li>
+<li>methods()</li>
+<li>isattribute()</li>
+<li>isprivateattribute()</li>
+<li>ismethod()</li>
+<li>isprivatemethod()</li>
+<li>addattribute()</li>
+<li>addmethod()</li>
+<li>getattribute()</li>
+<li>setattribute()</li>
+<li>mergemethods()</li>
+<li>packagename()</li>
+</ul>
+<div class="section" id="locals">
+<span id="index-1"></span><h2>locals() 関数<a class="headerlink" href="#locals" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>locals() 関数は現在のスコープにある変数名のリストを取得します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">locals</span><span class="p">()</span> <span class="o">--&gt;</span> <span class="n">現在のスコープにある変数名のリスト</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">test</span><span class="p">(</span><span class="s">&quot;hello&quot;</span><span class="p">)</span>
+
+<span class="k">func</span> <span class="n">test</span> <span class="n">cMsg</span>
+
+        <span class="k">see</span> <span class="n">cMsg</span> <span class="o">+</span> <span class="n">nl</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>
+
+        <span class="k">see</span> <span class="n">locals</span><span class="p">()</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">hello</span>
+<span class="n">cmsg</span>
+<span class="n">x</span>
+<span class="n">y</span>
+<span class="n">z</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="globals">
+<span id="index-2"></span><h2>globals() 関数<a class="headerlink" href="#globals" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>globals() 関数はグローバルスコープにある変数名のリストを取得します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">globals</span><span class="p">()</span> <span class="o">--&gt;</span> <span class="n">グローバルスコープにある変数名のリスト</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><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>
+<span class="n">test</span><span class="p">()</span>
+
+<span class="k">func</span> <span class="n">test</span>
+        <span class="k">see</span> <span class="s">&quot;message from test()&quot;</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+            <span class="s">&quot;Global Variables:&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+        <span class="k">see</span> <span class="n">globals</span><span class="p">()</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">message</span> <span class="k">from</span> <span class="n">test</span><span class="p">()</span>
+<span class="n">Global</span> <span class="n">Variables</span><span class="p">:</span>
+<span class="n">x</span>
+<span class="n">y</span>
+<span class="n">z</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="functions">
+<span id="index-3"></span><h2>functions() 関数<a class="headerlink" href="#functions" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>functions() 関数は Ring で記述された関数名のリストを取得します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">functions</span><span class="p">()</span> <span class="o">--&gt;</span> <span class="n">Ring</span> <span class="n">関数名のリスト</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">see</span> <span class="n">functions</span><span class="p">()</span>
+
+<span class="k">func</span> <span class="n">f1</span>
+        <span class="k">see</span> <span class="s">&quot;f1&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+
+<span class="k">func</span> <span class="n">f2</span>
+        <span class="k">see</span> <span class="s">&quot;f2&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+
+<span class="k">func</span> <span class="n">f3</span>
+        <span class="k">see</span> <span class="s">&quot;f3&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">f1</span>
+<span class="n">f2</span>
+<span class="n">f3</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="cfunctions">
+<span id="index-4"></span><h2>cfunctions() 関数<a class="headerlink" href="#cfunctions" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>cfunctions() 関数は C 言語で記述された関数名のリストを取得します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">cfunctions</span><span class="p">()</span> <span class="o">--&gt;</span> <span class="n">C</span> <span class="n">関数名のリスト</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">aList</span> <span class="o">=</span>  <span class="n">cfunctions</span><span class="p">()</span>
+<span class="k">See</span> <span class="s">&quot;Count : &quot;</span> <span class="o">+</span> <span class="n">len</span><span class="p">(</span><span class="n">aList</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+<span class="k">for</span> <span class="n">x</span> <span class="k">in</span> <span class="n">aList</span>
+        <span class="k">see</span> <span class="n">x</span> <span class="o">+</span> <span class="s">&quot;()&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+<span class="k">next</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">Count</span> <span class="p">:</span> <span class="mi">210</span>
+<span class="n">len</span><span class="p">()</span>
+<span class="n">add</span><span class="p">()</span>
+<span class="n">del</span><span class="p">()</span>
+<span class="k">get</span><span class="p">()</span>
+<span class="n">clock</span><span class="p">()</span>
+<span class="p">...</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">注釈</p>
+<p class="last">前述の実行結果から完全なリストは割愛されています。</p>
+</div>
+</div>
+<div class="section" id="islocal">
+<span id="index-5"></span><h2>islocal() 関数<a class="headerlink" href="#islocal" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>islocal() 関数はローカルスコープで定義済みの変数であるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>islocal(cVariableName) --&gt; 変数がローカルスコープで定義されているならば 1 を返します。
+                           変数がローカルスコープで定義されていないならば 0 を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">test</span><span class="p">()</span>
+
+<span class="k">func</span> <span class="n">test</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="k">see</span> <span class="n">islocal</span><span class="p">(</span><span class="s">&quot;x&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+            <span class="n">islocal</span><span class="p">(</span><span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+            <span class="n">islocal</span><span class="p">(</span><span class="s">&quot;z&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">1</span>
+<span class="mi">1</span>
+<span class="mi">0</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="isglobal">
+<span id="index-6"></span><h2>isglobal() 関数<a class="headerlink" href="#isglobal" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>isglobal() 関数はグローバルスコープで定義済みの変数であるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>isglobal(cVariableName) --&gt; 変数がグローバルスコープで定義されているならば 1 を返します。
+                            変数がグローバルスコープで定義されていないならば 0 を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><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">test</span><span class="p">()</span>
+
+<span class="k">func</span> <span class="n">test</span>
+        <span class="k">see</span> <span class="n">isglobal</span><span class="p">(</span><span class="s">&quot;x&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+            <span class="n">isglobal</span><span class="p">(</span><span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+            <span class="n">isglobal</span><span class="p">(</span><span class="s">&quot;z&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">1</span>
+<span class="mi">1</span>
+<span class="mi">0</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="isfunction">
+<span id="index-7"></span><h2>isfunction() 関数<a class="headerlink" href="#isfunction" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>isfunction() 関数は定義済みの Ring 関数であるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>isfunction(cFunctionName) --&gt; Ring 関数が定義されているならば 1 を返します。
+                              Ring 関数が定義されていないならば 0 を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">see</span> <span class="n">isfunction</span><span class="p">(</span><span class="s">&quot;f1&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">isfunction</span><span class="p">(</span><span class="s">&quot;f2&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">isfunction</span><span class="p">(</span><span class="s">&quot;f3&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+
+<span class="k">func</span> <span class="n">f1</span>
+        <span class="k">see</span> <span class="s">&quot;message from f1()&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+
+<span class="k">func</span> <span class="n">f2</span>
+        <span class="k">see</span> <span class="s">&quot;message from f2()&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">1</span>
+<span class="mi">1</span>
+<span class="mi">0</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="iscfunction">
+<span id="index-8"></span><h2>iscfunction() 関数<a class="headerlink" href="#iscfunction" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>iscfunction() 関数は定義済みの C 関数であるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>iscfunction(cFunctionName) --&gt; C 関数が定義されているならば 1 を返します。
+                               C 関数が定義されていないならば 0 を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">see</span> <span class="n">iscfunction</span><span class="p">(</span><span class="s">&quot;len&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">iscfunction</span><span class="p">(</span><span class="s">&quot;add&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">iscfunction</span><span class="p">(</span><span class="s">&quot;test&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">1</span>
+<span class="mi">1</span>
+<span class="mi">0</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="packages">
+<span id="index-9"></span><h2>packages() 関数<a class="headerlink" href="#packages" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>packages() 関数はパッケージ名のリストを取得します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">packages</span><span class="p">()</span> <span class="o">--&gt;</span> <span class="n">パッケージ名のリスト</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">See</span> <span class="n">packages</span><span class="p">()</span>
+
+<span class="n">Package</span> <span class="n">Package1</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+
+<span class="n">Package</span> <span class="n">Package2</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+
+<span class="n">Package</span> <span class="n">Package3</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+
+<span class="n">Package</span> <span class="n">Package4</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">package1</span>
+<span class="n">package2</span>
+<span class="n">package3</span>
+<span class="n">package4</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="ispackage">
+<span id="index-10"></span><h2>ispackage() 関数<a class="headerlink" href="#ispackage" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>ispackage() 関数は定義済みのパッケージであるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>ispackage(cPackageName) --&gt; パッケージが定義されているならば 1 を返します。
+                            パッケージが定義されていないならば 0 を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">See</span> <span class="n">ispackage</span><span class="p">(</span><span class="s">&quot;package1&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">ispackage</span><span class="p">(</span><span class="s">&quot;package4&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">ispackage</span><span class="p">(</span><span class="s">&quot;package5&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">ispackage</span><span class="p">(</span><span class="s">&quot;package3&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+
+<span class="n">Package</span> <span class="n">Package1</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+
+<span class="n">Package</span> <span class="n">Package2</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+
+<span class="n">Package</span> <span class="n">Package3</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+
+<span class="n">Package</span> <span class="n">Package4</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">1</span>
+<span class="mi">1</span>
+<span class="mi">0</span>
+<span class="mi">1</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="classes">
+<span id="index-11"></span><h2>classes() 関数<a class="headerlink" href="#classes" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>classes() 関数はクラス名のリストを取得します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">classes</span><span class="p">()</span> <span class="o">--&gt;</span> <span class="n">クラス名のリスト</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">See</span> <span class="n">classes</span><span class="p">()</span>
+
+<span class="k">Class</span> <span class="n">class1</span>
+        <span class="k">Func</span> <span class="n">f1</span>
+
+<span class="k">Class</span> <span class="n">class2</span>
+        <span class="k">Func</span> <span class="n">f1</span>
+
+<span class="k">Class</span> <span class="n">class3</span>
+        <span class="k">Func</span> <span class="n">f1</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">class1</span>
+<span class="n">class2</span>
+<span class="n">class3</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="isclass">
+<span id="index-12"></span><h2>isclass() 関数<a class="headerlink" href="#isclass" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>isclass() 関数は定義済みのクラスであるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>isclass(cClassName) --&gt;  クラスが定義されているならば 1 を返します。
+                         クラスが定義されていないならば 0 を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">see</span> <span class="n">isclass</span><span class="p">(</span><span class="s">&quot;class4&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">isclass</span><span class="p">(</span><span class="s">&quot;class3&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">isclass</span><span class="p">(</span><span class="s">&quot;class2&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+
+<span class="k">Class</span> <span class="n">class1</span>
+        <span class="k">func</span> <span class="n">f1</span>
+
+<span class="k">class</span> <span class="n">class2</span>
+        <span class="k">func</span> <span class="n">f1</span>
+
+<span class="k">class</span> <span class="n">class3</span>
+        <span class="k">func</span> <span class="n">f1</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">0</span>
+<span class="mi">1</span>
+<span class="mi">1</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="packageclasses">
+<span id="index-13"></span><h2>packageclasses() 関数<a class="headerlink" href="#packageclasses" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>packageclasses() 関数はパッケージにあるクラス名のリストを取得します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">packageclasses</span><span class="p">(</span><span class="n">cPackageName</span><span class="p">)</span> <span class="o">--&gt;</span> <span class="n">パッケージにあるクラス名のリスト</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">see</span> <span class="s">&quot;classes in Package1&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+<span class="k">see</span> <span class="n">packageclasses</span><span class="p">(</span><span class="s">&quot;Package1&quot;</span><span class="p">)</span>
+<span class="k">see</span> <span class="s">&quot;classes in Package2&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+<span class="k">see</span> <span class="n">packageclasses</span><span class="p">(</span><span class="s">&quot;Package2&quot;</span><span class="p">)</span>
+
+<span class="n">Package</span> <span class="n">Package1</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+
+<span class="n">Package</span> <span class="n">Package2</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+        <span class="k">Class</span> <span class="n">class2</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+        <span class="k">Class</span> <span class="n">class3</span>
+                <span class="k">func</span> <span class="n">f1</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">classes</span> <span class="k">in</span> <span class="n">Package1</span>
+<span class="n">class1</span>
+<span class="n">classes</span> <span class="k">in</span> <span class="n">Package2</span>
+<span class="n">class1</span>
+<span class="n">class2</span>
+<span class="n">class3</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="ispackageclass">
+<span id="index-14"></span><h2>ispackageclass() 関数<a class="headerlink" href="#ispackageclass" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>ispackageclass() 関数はパッケージで定義済みのクラスであるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>ispackageclass(cPackageName,cClassName) --&gt;  クラスが定義されているならば 1 を返します。
+                                             クラスが定義されていないならば 0 を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">see</span> <span class="n">ispackageclass</span><span class="p">(</span><span class="s">&quot;package1&quot;</span><span class="p">,</span><span class="s">&quot;class1&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">ispackageclass</span><span class="p">(</span><span class="s">&quot;package1&quot;</span><span class="p">,</span><span class="s">&quot;class2&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">ispackageclass</span><span class="p">(</span><span class="s">&quot;package2&quot;</span><span class="p">,</span><span class="s">&quot;class1&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">ispackageclass</span><span class="p">(</span><span class="s">&quot;package2&quot;</span><span class="p">,</span><span class="s">&quot;class2&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+
+<span class="n">Package</span> <span class="n">Package1</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+
+<span class="n">Package</span> <span class="n">Package2</span>
+        <span class="k">Class</span> <span class="n">class1</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+        <span class="k">Class</span> <span class="n">class2</span>
+                <span class="k">Func</span> <span class="n">f1</span>
+        <span class="k">Class</span> <span class="n">class3</span>
+                <span class="k">func</span> <span class="n">f1</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">1</span>
+<span class="mi">0</span>
+<span class="mi">1</span>
+<span class="mi">1</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="classname">
+<span id="index-15"></span><h2>classname() 関数<a class="headerlink" href="#classname" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>classname() 関数はオブジェクトのクラス名を検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>classname(object) --&gt; オブジェクトのクラス名を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<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">point</span>
+<span class="n">o2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">rect</span>
+
+<span class="k">see</span> <span class="n">classname</span><span class="p">(</span><span class="n">o1</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>          <span class="c"># point を表示</span>
+<span class="k">see</span> <span class="n">classname</span><span class="p">(</span><span class="n">o2</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>          <span class="c"># rect  を表示</span>
+
+<span class="k">class</span> <span class="n">point</span>
+<span class="k">class</span> <span class="n">rect</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="objectid">
+<span id="index-16"></span><h2>objectid() 関数<a class="headerlink" href="#objectid" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>objectid() 関数はオブジェクトの識別子 (ID) を検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>objectid(object) --&gt; オブジェクトの識別子 (ID) を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<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">point</span>
+<span class="k">see</span> <span class="n">objectid</span><span class="p">(</span><span class="n">o1</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+<span class="n">test</span><span class="p">(</span><span class="n">o1</span><span class="p">)</span>
+
+<span class="k">func</span> <span class="n">test</span> <span class="n">v</span>
+        <span class="k">see</span> <span class="n">objectid</span><span class="p">(</span><span class="n">v</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+
+<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>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre>021B5808
+021B5808
+</pre></div>
+</div>
+</div>
+<div class="section" id="isobject">
+<span id="index-17"></span><h2>isobject() 関数<a class="headerlink" href="#isobject" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>isobject() 関数は変数がオブジェクトであるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>isobject(variable) --&gt; オブジェクトならば True を、そうでなければ False を返します。
+</pre></div>
+</div>
+</div>
+<div class="section" id="attributes">
+<span id="index-18"></span><h2>attributes() 関数<a class="headerlink" href="#attributes" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>attributes() 関数はオブジェクトの属性を取得します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>attributes(object) --&gt; オブジェクトの属性リストを返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<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">point</span>
+<span class="n">aList</span> <span class="o">=</span> <span class="n">attributes</span><span class="p">(</span><span class="n">o1</span><span class="p">)</span>          <span class="c"># see attributes(o1) を使えます。</span>
+<span class="k">for</span> <span class="n">t</span> <span class="k">in</span> <span class="n">aList</span> <span class="k">see</span> <span class="n">t</span> <span class="k">next</span>       <span class="c"># xyz の表示</span>
+<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>
+</pre></div>
+</div>
+</div>
+<div class="section" id="methods">
+<span id="index-19"></span><h2>methods() 関数<a class="headerlink" href="#methods" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>methods() 関数はオブジェクトのメソッドを取得します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>methods(object) --&gt; オブジェクトのメソッドのリストを返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<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">test</span>
+<span class="n">aList</span> <span class="o">=</span> <span class="n">methods</span><span class="p">(</span><span class="n">o1</span><span class="p">)</span>
+
+<span class="k">for</span> <span class="n">x</span> <span class="k">in</span> <span class="n">aList</span>
+        <span class="n">cCode</span> <span class="o">=</span> <span class="s">&quot;o1.&quot;</span><span class="o">+</span><span class="n">x</span><span class="o">+</span><span class="s">&quot;()&quot;</span>
+        <span class="n">eval</span><span class="p">(</span><span class="n">cCode</span><span class="p">)</span>
+<span class="k">next</span>
+
+<span class="k">Class</span> <span class="n">Test</span>
+        <span class="k">func</span> <span class="n">f1</span>
+                <span class="k">see</span> <span class="s">&quot;hello from f1&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+        <span class="k">func</span> <span class="n">f2</span>
+                <span class="k">see</span> <span class="s">&quot;hello from f2&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+        <span class="k">func</span> <span class="n">f3</span>
+                <span class="k">see</span> <span class="s">&quot;hello from f3&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+        <span class="k">func</span> <span class="n">f4</span>
+                <span class="k">see</span> <span class="s">&quot;hello from f4&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">hello</span> <span class="k">from</span> <span class="n">f1</span>
+<span class="n">hello</span> <span class="k">from</span> <span class="n">f2</span>
+<span class="n">hello</span> <span class="k">from</span> <span class="n">f3</span>
+<span class="n">hello</span> <span class="k">from</span> <span class="n">f4</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="isattribute">
+<span id="index-20"></span><h2>isattribute() 関数<a class="headerlink" href="#isattribute" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>isattribute() 関数はオブジェクトに属性があるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>isattribute(object,cAttributeName)
+        --&gt; オブジェクトが属性を有しているならば True を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<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">point</span>
+
+<span class="k">see</span> <span class="n">isattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;x&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>    <span class="c"># 1 の表示</span>
+<span class="k">see</span> <span class="n">isattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;t&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>    <span class="c"># 0 の表示</span>
+<span class="k">see</span> <span class="n">isattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>    <span class="c"># 1 の表示</span>
+<span class="k">see</span> <span class="n">isattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;z&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>    <span class="c"># 1 の表示</span>
+
+<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>
+</pre></div>
+</div>
+</div>
+<div class="section" id="isprivateattribute">
+<span id="index-21"></span><h2>isprivateattribute() 関数<a class="headerlink" href="#isprivateattribute" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>isprivateattribute() 関数はオブジェクトにプライベート属性があるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>isprivateattribute(object,cAttributeName)
+        --&gt; オブジェクトにプライベート属性があるならば True を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<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">person</span>
+
+<span class="k">see</span> <span class="n">isprivateattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;name&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">isprivateattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;address&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">isprivateattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;phone&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">isprivateattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;job&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">isprivateattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;salary&quot;</span><span class="p">)</span>
+
+<span class="k">Class</span> <span class="n">Person</span>
+        <span class="n">name</span> <span class="n">address</span> <span class="n">phone</span>
+        <span class="n">private</span>
+                <span class="n">job</span> <span class="n">salary</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">0</span>
+<span class="mi">0</span>
+<span class="mi">0</span>
+<span class="mi">1</span>
+<span class="mi">1</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="ismethod">
+<span id="index-22"></span><h2>ismethod() 関数<a class="headerlink" href="#ismethod" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>ismethod() 関数はオブジェクトのクラスにメソッドがあるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>ismethod(object,cMethodName)
+        --&gt; オブジェクトのクラスにメソッドがあるならば True を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<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">point</span>
+
+<span class="k">see</span> <span class="n">ismethod</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;print&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>           <span class="c"># 1 の表示</span>
+
+<span class="n">mylist</span> <span class="o">=</span> <span class="o">[]</span>
+<span class="n">mylist</span> <span class="o">+</span> <span class="k">new</span> <span class="n">point</span>
+
+<span class="k">see</span> <span class="n">ismethod</span><span class="p">(</span><span class="n">mylist</span><span class="o">[</span><span class="mi">1</span><span class="o">]</span><span class="p">,</span><span class="s">&quot;print&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>    <span class="c"># 1 の表示</span>
+
+<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>
+        <span class="k">func</span> <span class="n">print</span>
+                <span class="k">see</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>
+</pre></div>
+</div>
+</div>
+<div class="section" id="isprivatemethod">
+<span id="index-23"></span><h2>isprivatemethod() 関数<a class="headerlink" href="#isprivatemethod" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>isprivatemethod() 関数はオブジェクトのクラスにプライベートメソッドがあるかを検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>isprivatemethod(object,cMethodName)
+        --&gt; オブジェクトのクラスにプライベートメソッドあるならば True を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<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">Test</span>
+
+<span class="k">see</span> <span class="n">isprivatemethod</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;f1&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">isprivatemethod</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;f2&quot;</span><span class="p">)</span>
+
+<span class="k">Class</span> <span class="n">Test</span>
+        <span class="k">func</span>  <span class="n">f1</span>
+                <span class="k">see</span> <span class="s">&quot;message from f1()&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+        <span class="n">private</span>
+                <span class="k">func</span> <span class="n">f2</span>
+                        <span class="k">see</span> <span class="s">&quot;message from f2()&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">0</span>
+<span class="mi">1</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="addattribute">
+<span id="index-24"></span><h2>addattribute() 関数<a class="headerlink" href="#addattribute" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>addattribute() 関数はオブジェクトの状態 (クラスではなく) へ属性 (または属性のグループ) を追加します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">AddAttribute</span><span class="p">(</span><span class="n">object</span><span class="p">,</span><span class="n">cAttributeName</span><span class="o">|</span><span class="n">aAttributesList</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>用例①:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">see</span> <span class="k">new</span> <span class="n">point</span> <span class="p">{</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><span class="p">}</span>
+<span class="k">Class</span> <span class="n">Point</span>
+        <span class="n">AddAttribute</span><span class="p">(</span><span class="n">self</span><span class="p">,</span><span class="o">[</span><span class="s">&quot;x&quot;</span><span class="p">,</span><span class="s">&quot;y&quot;</span><span class="p">,</span><span class="s">&quot;z&quot;</span><span class="o">]</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>用例②:</p>
+<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">point</span>
+<span class="n">addattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;x&quot;</span><span class="p">)</span>
+<span class="n">addattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;y&quot;</span><span class="p">)</span>
+<span class="n">addattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;z&quot;</span><span class="p">)</span>
+<span class="k">see</span> <span class="n">o1</span> <span class="p">{</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><span class="p">}</span>
+<span class="k">class</span> <span class="n">point</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">x</span><span class="p">:</span> <span class="mf">10.000000</span>
+<span class="n">y</span><span class="p">:</span> <span class="mf">20.000000</span>
+<span class="n">z</span><span class="p">:</span> <span class="mf">30.000000</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="addmethod">
+<span id="index-25"></span><h2>addmethod() 関数<a class="headerlink" href="#addmethod" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>addmethod() 関数はオブジェクトのクラスへメソッドを追加します。
+このメソッドは同一クラスにあるオブジェクトでも使えます。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">AddMethod</span><span class="p">(</span><span class="n">Object</span><span class="p">,</span><span class="n">cNewMethodName</span><span class="p">,</span><span class="n">cMethodName</span><span class="o">|</span><span class="n">AnonymousFunction</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<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">point</span> <span class="p">{</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> <span class="p">}</span>
+
+<span class="n">addmethod</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;print&quot;</span><span class="p">,</span> <span class="k">func</span> <span class="p">{</span> <span class="k">see</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> <span class="p">}</span> <span class="p">)</span>
+
+<span class="n">o1</span><span class="p">.</span><span class="n">print</span><span class="p">()</span>
+
+<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>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">10</span>
+<span class="mi">20</span>
+<span class="mi">30</span>
+</pre></div>
+</div>
+<p>無名関数ではなく関数名により、新規メソッドをクラスへ追加できます</p>
+<p>用例:</p>
+<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">point</span> <span class="p">{</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> <span class="p">}</span>
+
+<span class="n">myfunc</span> <span class="o">=</span> <span class="k">func</span> <span class="p">{</span> <span class="k">see</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> <span class="p">}</span>
+
+<span class="n">addmethod</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;print&quot;</span><span class="p">,</span> <span class="n">myfunc</span> <span class="p">)</span>
+<span class="n">addmethod</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;display&quot;</span><span class="p">,</span> <span class="n">myfunc</span> <span class="p">)</span>
+<span class="n">addmethod</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;show&quot;</span><span class="p">,</span> <span class="n">myfunc</span> <span class="p">)</span>
+
+<span class="n">o1</span><span class="p">.</span><span class="n">print</span><span class="p">()</span>
+<span class="n">o1</span><span class="p">.</span><span class="n">display</span><span class="p">()</span>
+<span class="n">o1</span><span class="p">.</span><span class="n">show</span><span class="p">()</span>
+
+<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>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">10</span>
+<span class="mi">20</span>
+<span class="mi">30</span>
+<span class="mi">10</span>
+<span class="mi">20</span>
+<span class="mi">30</span>
+<span class="mi">10</span>
+<span class="mi">20</span>
+<span class="mi">30</span>
+</pre></div>
+</div>
+<p>クラスへメソッドを追加するため、このメソッドでは対象のクラスにあるメソッドを使用します。</p>
+<p>用例:</p>
+<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">point</span> <span class="p">{</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> <span class="p">}</span>
+<span class="n">o2</span> <span class="o">=</span> <span class="k">new</span> <span class="n">point</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>
+<span class="n">o3</span> <span class="o">=</span> <span class="k">new</span> <span class="n">point</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>
+
+<span class="n">addmethod</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;print&quot;</span><span class="p">,</span> <span class="k">func</span> <span class="p">{</span> <span class="k">see</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> <span class="p">}</span> <span class="p">)</span>
+
+<span class="n">o1</span><span class="p">.</span><span class="n">print</span><span class="p">()</span>
+<span class="n">o2</span><span class="p">.</span><span class="n">print</span><span class="p">()</span>
+<span class="n">o3</span><span class="p">.</span><span class="n">print</span><span class="p">()</span>
+
+<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>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="mi">10</span>
+<span class="mi">20</span>
+<span class="mi">30</span>
+<span class="mi">100</span>
+<span class="mi">200</span>
+<span class="mi">300</span>
+<span class="mi">50</span>
+<span class="mi">150</span>
+<span class="mi">250</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="getattribute">
+<span id="index-26"></span><h2>getattribute() 関数<a class="headerlink" href="#getattribute" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>getattribute() 関数はオブジェクトの属性値を取得します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">GetAttribute</span><span class="p">(</span><span class="n">oObject</span><span class="p">,</span><span class="n">cAttributeName</span><span class="p">)</span> <span class="o">---&gt;</span> <span class="n">属性の値</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<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">point</span>
+
+<span class="k">see</span> <span class="n">getattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;name&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">getattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;x&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">getattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span>
+    <span class="n">getattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;z&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+
+<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>
+        <span class="n">name</span> <span class="o">=</span> <span class="s">&quot;3D-Point&quot;</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre>3D-Point
+10
+20
+30
+</pre></div>
+</div>
+<p>用例:</p>
+<p>findclass() 関数から GetAttribute() を呼び出してクラスリストのメンバを検索します。検索には桁の位置よりもメンバ名を優先して使用します。</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">myList</span> <span class="o">=</span>
+          <span class="o">[</span><span class="k">new</span> <span class="n">Company</span> <span class="p">{</span><span class="n">position</span><span class="o">=</span><span class="mi">3</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;Mahmoud&quot;</span> <span class="n">symbol</span><span class="o">=</span><span class="s">&quot;MHD&quot;</span><span class="p">},</span>
+           <span class="k">new</span> <span class="n">Company</span> <span class="p">{</span><span class="n">position</span><span class="o">=</span><span class="mi">2</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;Bert&quot;</span> <span class="n">symbol</span><span class="o">=</span><span class="s">&quot;BRT&quot;</span><span class="p">},</span>
+           <span class="k">new</span> <span class="n">Company</span> <span class="p">{</span><span class="n">position</span><span class="o">=</span><span class="mi">1</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;Ring&quot;</span> <span class="n">symbol</span><span class="o">=</span><span class="s">&quot;RNG&quot;</span><span class="p">}</span>
+          <span class="o">]</span>
+
+<span class="k">see</span> <span class="n">myList</span>
+<span class="k">see</span> <span class="n">nl</span> <span class="o">+</span><span class="s">&quot;=====================&quot;</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span> <span class="n">nl</span>
+
+<span class="k">for</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="n">len</span><span class="p">(</span><span class="n">myList</span><span class="p">)</span>
+     <span class="k">see</span>  <span class="s">&quot;Pos: &quot;</span><span class="o">+</span> <span class="n">i</span> <span class="o">+</span><span class="s">&quot; | &quot;</span><span class="o">+</span> <span class="n">myList</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">.</span><span class="n">position</span> <span class="o">+</span><span class="s">&quot; | &quot;</span><span class="o">+</span> <span class="n">myList</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">.</span><span class="n">name</span> <span class="o">+</span>
+          <span class="s">&quot; | &quot;</span><span class="o">+</span>  <span class="n">myList</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">.</span><span class="n">symbol</span>    <span class="o">+</span><span class="s">&quot; | &quot;</span><span class="o">+</span> <span class="n">nl</span>
+<span class="k">next</span>
+
+
+<span class="k">See</span> <span class="n">findclass</span><span class="p">(</span><span class="n">myList</span><span class="p">,</span> <span class="s">&quot;MHD&quot;</span><span class="p">,</span> <span class="s">&quot;symbol&quot;</span><span class="p">)</span> <span class="o">+</span><span class="n">nl</span>   <span class="sd">### メンバのクラス名を指定</span>
+
+<span class="sd">###---------------------------------------</span>
+
+<span class="k">func</span> <span class="n">findclass</span> <span class="n">classList</span><span class="p">,</span> <span class="n">cValue</span><span class="p">,</span> <span class="n">classMember</span>
+
+       <span class="k">See</span> <span class="n">nl</span> <span class="o">+</span> <span class="s">&quot;FindClass: &quot;</span>  <span class="o">+</span><span class="s">&quot; &quot;</span><span class="o">+</span> <span class="n">cValue</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span> <span class="n">nl</span>
+
+       <span class="k">for</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="n">len</span><span class="p">(</span><span class="n">classList</span><span class="p">)</span>
+            <span class="n">result</span> <span class="o">=</span> <span class="n">getattribute</span><span class="p">(</span> <span class="n">classList</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">,</span> <span class="n">classMember</span> <span class="p">)</span>
+
+           <span class="k">See</span> <span class="s">&quot;Result-Attr: &quot;</span> <span class="o">+</span> <span class="n">i</span> <span class="o">+</span><span class="s">&quot; &quot;</span><span class="o">+</span>  <span class="n">result</span> <span class="o">+</span><span class="n">nl</span>
+           <span class="k">if</span> <span class="n">result</span> <span class="o">=</span> <span class="n">cValue</span>
+               <span class="n">j</span> <span class="o">=</span> <span class="n">i</span>
+            <span class="k">ok</span>
+       <span class="k">next</span>
+<span class="k">return</span> <span class="n">j</span>
+
+<span class="sd">###--------------------------------------</span>
+
+<span class="k">class</span> <span class="n">company</span> <span class="n">position</span> <span class="n">name</span> <span class="n">symbol</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">Pos</span><span class="p">:</span> <span class="mi">1</span> <span class="o">|</span> <span class="mi">3</span> <span class="o">|</span> <span class="n">Mahmoud</span> <span class="o">|</span> <span class="n">MHD</span> <span class="o">|</span>
+<span class="n">Pos</span><span class="p">:</span> <span class="mi">2</span> <span class="o">|</span> <span class="mi">2</span> <span class="o">|</span> <span class="n">Bert</span> <span class="o">|</span> <span class="n">BRT</span> <span class="o">|</span>
+<span class="n">Pos</span><span class="p">:</span> <span class="mi">3</span> <span class="o">|</span> <span class="mi">1</span> <span class="o">|</span> <span class="n">Ring</span> <span class="o">|</span> <span class="n">RNG</span> <span class="o">|</span>
+
+<span class="n">FindClass</span><span class="p">:</span>  <span class="n">MHD</span>
+
+<span class="n">Result</span><span class="o">-</span><span class="n">Attr</span><span class="p">:</span> <span class="mi">1</span> <span class="n">MHD</span>
+<span class="n">Result</span><span class="o">-</span><span class="n">Attr</span><span class="p">:</span> <span class="mi">2</span> <span class="n">BRT</span>
+<span class="n">Result</span><span class="o">-</span><span class="n">Attr</span><span class="p">:</span> <span class="mi">3</span> <span class="n">RNG</span>
+
+<span class="mi">1</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="setattribute">
+<span id="index-27"></span><h2>setattribute() 関数<a class="headerlink" href="#setattribute" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>setattribute() 関数はオブジェクトの属性値を設定します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">SetAttribute</span><span class="p">(</span><span class="n">oObject</span><span class="p">,</span><span class="n">cAttributeName</span><span class="p">,</span><span class="n">Value</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<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">person</span>
+<span class="n">setattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;cName&quot;</span><span class="p">,</span><span class="s">&quot;Mahmoud&quot;</span><span class="p">)</span>
+<span class="n">setattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;nSalary&quot;</span><span class="p">,</span><span class="mi">1000000</span><span class="p">)</span>
+<span class="n">setattribute</span><span class="p">(</span><span class="n">o1</span><span class="p">,</span><span class="s">&quot;aColors&quot;</span><span class="p">,</span><span class="o">[</span><span class="s">&quot;white&quot;</span><span class="p">,</span><span class="s">&quot;blue&quot;</span><span class="p">,</span><span class="s">&quot;yellow&quot;</span><span class="o">]</span><span class="p">)</span>
+
+<span class="k">see</span> <span class="n">o1</span>
+<span class="k">see</span> <span class="n">o1</span><span class="p">.</span><span class="n">aColors</span>
+
+<span class="k">Class</span> <span class="n">Person</span>
+        <span class="n">cName</span>
+        <span class="n">nSalary</span>
+        <span class="n">aColors</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">cname</span><span class="p">:</span> <span class="n">Mahmoud</span>
+<span class="n">nsalary</span><span class="p">:</span> <span class="mf">1000000.000000</span>
+<span class="n">acolors</span><span class="p">:</span> <span class="kt">List</span><span class="p">...</span>
+<span class="n">white</span>
+<span class="n">blue</span>
+<span class="n">yellow</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="mergemethods">
+<span id="index-28"></span><h2>mergemethods() 関数<a class="headerlink" href="#mergemethods" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>MergeMethods() 関数は継承を行わずにクラスとメソッドを共有します。</p>
+<p>この関数は別のクラスへクラスのメソッドを併合します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">MergeMethods</span><span class="p">(</span><span class="n">cClassNameDestination</span><span class="p">,</span><span class="n">cClassNameSource</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="n">mergemethods</span><span class="p">(</span><span class="s">&quot;count&quot;</span><span class="p">,</span><span class="s">&quot;share&quot;</span><span class="p">)</span>
+<span class="n">mergemethods</span><span class="p">(</span><span class="s">&quot;count2&quot;</span><span class="p">,</span><span class="s">&quot;share&quot;</span><span class="p">)</span>
+
+<span class="n">o1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">count</span>  <span class="p">{</span> <span class="n">test</span><span class="p">()</span> <span class="p">}</span>
+<span class="n">o1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">count2</span> <span class="p">{</span> <span class="n">test</span><span class="p">()</span> <span class="p">}</span>
+
+<span class="k">Class</span> <span class="n">Share</span>
+        <span class="k">func</span> <span class="n">one</span>
+                <span class="k">see</span> <span class="s">&quot;one&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+        <span class="k">func</span> <span class="n">two</span>
+                <span class="k">see</span> <span class="s">&quot;two&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+        <span class="k">func</span> <span class="n">three</span>
+                <span class="k">see</span> <span class="s">&quot;three&quot;</span> <span class="o">+</span> <span class="n">nl</span>
+
+<span class="k">Class</span> <span class="n">Display</span>
+        <span class="k">Func</span> <span class="n">printline</span>
+                <span class="k">see</span> <span class="n">copy</span><span class="p">(</span><span class="s">&quot;*&quot;</span><span class="p">,</span><span class="mi">20</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
+
+<span class="k">Class</span> <span class="n">Count</span> <span class="k">from</span> <span class="n">Display</span>
+        <span class="k">Func</span> <span class="n">test</span>
+                <span class="n">printline</span><span class="p">()</span>
+                <span class="n">one</span><span class="p">()</span>
+                <span class="n">two</span><span class="p">()</span>
+                <span class="n">three</span><span class="p">()</span>
+                <span class="n">printline</span><span class="p">()</span>
+
+<span class="k">Class</span> <span class="n">Count2</span> <span class="k">from</span> <span class="n">Display</span>
+        <span class="k">Func</span> <span class="n">test</span>
+                <span class="n">three</span><span class="p">()</span>
+                <span class="n">two</span><span class="p">()</span>
+                <span class="n">one</span><span class="p">()</span>
+                <span class="n">printline</span><span class="p">()</span>
+</pre></div>
+</div>
+<p>実行結果:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="o">********************</span>
+<span class="n">one</span>
+<span class="n">two</span>
+<span class="n">three</span>
+<span class="o">********************</span>
+<span class="n">three</span>
+<span class="n">two</span>
+<span class="n">one</span>
+<span class="o">********************</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="packagename">
+<span id="index-29"></span><h2>packagename() 関数<a class="headerlink" href="#packagename" title="このヘッドラインへのパーマリンク">¶</a></h2>
+<p>packagename() 関数は import 命令が成功した最近のパッケージ名を検査します。</p>
+<p>文法:</p>
+<div class="highlight-ring"><div class="highlight"><pre>packagename() --&gt; import 命令が成功した最近のパッケージ名を返します。
+</pre></div>
+</div>
+<p>用例:</p>
+<div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">&quot;weblib.ring&quot;</span>
+<span class="k">import</span> <span class="n">System</span><span class="p">.</span><span class="n">web</span>
+<span class="k">see</span> <span class="n">packagename</span><span class="p">()</span>       <span class="c"># system.web</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper"><h3>ページの内容</h3>
+<ul>
+<li><a class="reference internal" href="#">リフレクションとメタプログラミング</a><ul>
+<li><a class="reference internal" href="#locals">locals() 関数</a></li>
+<li><a class="reference internal" href="#globals">globals() 関数</a></li>
+<li><a class="reference internal" href="#functions">functions() 関数</a></li>
+<li><a class="reference internal" href="#cfunctions">cfunctions() 関数</a></li>
+<li><a class="reference internal" href="#islocal">islocal() 関数</a></li>
+<li><a class="reference internal" href="#isglobal">isglobal() 関数</a></li>
+<li><a class="reference internal" href="#isfunction">isfunction() 関数</a></li>
+<li><a class="reference internal" href="#iscfunction">iscfunction() 関数</a></li>
+<li><a class="reference internal" href="#packages">packages() 関数</a></li>
+<li><a class="reference internal" href="#ispackage">ispackage() 関数</a></li>
+<li><a class="reference internal" href="#classes">classes() 関数</a></li>
+<li><a class="reference internal" href="#isclass">isclass() 関数</a></li>
+<li><a class="reference internal" href="#packageclasses">packageclasses() 関数</a></li>
+<li><a class="reference internal" href="#ispackageclass">ispackageclass() 関数</a></li>
+<li><a class="reference internal" href="#classname">classname() 関数</a></li>
+<li><a class="reference internal" href="#objectid">objectid() 関数</a></li>
+<li><a class="reference internal" href="#isobject">isobject() 関数</a></li>
+<li><a class="reference internal" href="#attributes">attributes() 関数</a></li>
+<li><a class="reference internal" href="#methods">methods() 関数</a></li>
+<li><a class="reference internal" href="#isattribute">isattribute() 関数</a></li>
+<li><a class="reference internal" href="#isprivateattribute">isprivateattribute() 関数</a></li>
+<li><a class="reference internal" href="#ismethod">ismethod() 関数</a></li>
+<li><a class="reference internal" href="#isprivatemethod">isprivatemethod() 関数</a></li>
+<li><a class="reference internal" href="#addattribute">addattribute() 関数</a></li>
+<li><a class="reference internal" href="#addmethod">addmethod() 関数</a></li>
+<li><a class="reference internal" href="#getattribute">getattribute() 関数</a></li>
+<li><a class="reference internal" href="#setattribute">setattribute() 関数</a></li>
+<li><a class="reference internal" href="#mergemethods">mergemethods() 関数</a></li>
+<li><a class="reference internal" href="#packagename">packagename() 関数</a></li>
+</ul>
+</li>
+</ul>
+
+
+  <h4>前のトピックへ</h4>
+  <p class="topless"><a href="fp.html"
+                        title="前の章へ">関数型プログラミング</a></p>
+  <h4>次のトピックへ</h4>
+  <p class="topless"><a href="stdlib.html"
+                        title="次の章へ">Stdlib 関数</a></p>
+  <div role="note" aria-label="source link">
+    <h3>このページ</h3>
+    <ul class="this-page-menu">
+      <li><a href="_sources/metaprog.txt"
+            rel="nofollow">ソースコードを表示</a></li>
+    </ul>
+   </div>
+      
+<form action="search.html" method="get">
+  <input type="text" name="q" placeholder="Search" />
+  <input type="hidden" name="check_keywords" value="yes" />
+  <input type="hidden" name="area" value="default" />
+</form>
+      
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+<footer class="footer">
+  <p class="pull-right">
+    <a href="_sources/metaprog.txt"
+       rel="nofollow">Page Source</a> &nbsp;
+    <a href="#">Back to Top</a></p>
+  <p>
+    &copy; Copyright 2016-2020, Ring Team.<br/>
+    Created using <a href="http://www.sphinx-doc.org/en/stable/">Sphinx</a> 1.3.6. / astropy-sphinx-theme 1.1 (isVowel)
+  </p>
+</footer>
+  </body>
+</html>
\ No newline at end of file