Mercurial > pymonkey
comparison docs/rendered/pymonkey.html @ 163:4edaa0e6f382
Added notes on identity perseverance for objects.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Sun, 30 Aug 2009 17:00:33 -0700 |
parents | 28d067082390 |
children | 3fadba042201 |
comparison
equal
deleted
inserted
replaced
162:d1606a6cf1c0 | 163:4edaa0e6f382 |
---|---|
83 through the execution of JS code, but this type object can be used | 83 through the execution of JS code, but this type object can be used |
84 with Python’s built-in <tt class="xref docutils literal"><span class="pre">isinstance()</span></tt> to verify that an | 84 with Python’s built-in <tt class="xref docutils literal"><span class="pre">isinstance()</span></tt> to verify that an |
85 object is a JS object, like so:</p> | 85 object is a JS object, like so:</p> |
86 <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">obj</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span><span class="o">.</span><span class="n">new_object</span><span class="p">()</span> | 86 <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">obj</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span><span class="o">.</span><span class="n">new_object</span><span class="p">()</span> |
87 <span class="gp">>>> </span><span class="nb">isinstance</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Object</span><span class="p">)</span> | 87 <span class="gp">>>> </span><span class="nb">isinstance</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Object</span><span class="p">)</span> |
88 <span class="go">True</span> | |
89 </pre></div> | |
90 </div> | |
91 <p>Note that <a title="pymonkey.Object" class="reference" href="#pymonkey.Object"><tt class="xref docutils literal"><span class="pre">Object</span></tt></a> and all its subclasses are | |
92 identity-preserving when passed between Python-land and | |
93 JS-land. For instance:</p> | |
94 <div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">cx</span> <span class="o">=</span> <span class="n">pymonkey</span><span class="o">.</span><span class="n">Runtime</span><span class="p">()</span><span class="o">.</span><span class="n">new_context</span><span class="p">()</span> | |
95 <span class="gp">>>> </span><span class="n">obj1</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">new_object</span><span class="p">()</span> | |
96 <span class="gp">>>> </span><span class="n">obj2</span> <span class="o">=</span> <span class="n">cx</span><span class="o">.</span><span class="n">evaluate_script</span><span class="p">(</span><span class="n">obj1</span><span class="p">,</span> <span class="s">'this'</span><span class="p">,</span> <span class="s">'<string>'</span><span class="p">,</span> <span class="mf">1</span><span class="p">)</span> | |
97 <span class="gp">>>> </span><span class="n">obj1</span> <span class="ow">is</span> <span class="n">obj2</span> | |
88 <span class="go">True</span> | 98 <span class="go">True</span> |
89 </pre></div> | 99 </pre></div> |
90 </div> | 100 </div> |
91 <dl class="method"> | 101 <dl class="method"> |
92 <dt id="pymonkey.Object.get_runtime"> | 102 <dt id="pymonkey.Object.get_runtime"> |