| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336 | <!DOCTYPE html><html lang="en"><head>    <meta charset="utf-8">    <title>JSDoc: Class: func</title>    <script src="scripts/prettify/prettify.js"> </script>    <script src="scripts/prettify/lang-css.js"> </script>    <!--[if lt IE 9]>      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>    <![endif]-->    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"></head><body><div id="main">    <h1 class="page-title">Class: func</h1>    <section><header>            <h2>            <span class="ancestors"><a href="Sk.html">Sk</a><a href="Sk.builtin.html">.builtin</a>.</span>                func        </h2>            </header><article>    <div class="container-overview">                    <h4 class="name" id="func"><span class="type-signature"></span>new func<span class="signature">(code, globals<span class="signature-attributes">opt</span>, closure<span class="signature-attributes">opt</span>, closure2<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>    <div class="description">    <p>This function converts a Javascript function into a Python object that is callable.  Or justthink of it as a Python function rather than a Javascript function now.  This is an importantdistinction in skulpt because once you have Python function you cannot just call it.You must now use Sk.misceval.callsim to call the Python function.</p></div>    <h5>Parameters:</h5>    <table class="params">    <thead>    <tr>                <th>Name</th>                <th>Type</th>                <th>Attributes</th>                        <th class="last">Description</th>    </tr>    </thead>    <tbody>            <tr>                            <td class="name"><code>code</code></td>                        <td class="type">                            <span class="param-type">function</span>                        </td>                            <td class="attributes">                                                                </td>                                    <td class="description last"><p>the javascript implementation of this function</p></td>        </tr>            <tr>                            <td class="name"><code>globals</code></td>                        <td class="type">                            <span class="param-type">Object</span>                        </td>                            <td class="attributes">                                    <optional><br>                                                                </td>                                    <td class="description last"><p>the globals where this function was defined.Can be undefined (which will be stored as null) for builtins. (isthat ok?)</p></td>        </tr>            <tr>                            <td class="name"><code>closure</code></td>                        <td class="type">                            <span class="param-type">Object</span>                        </td>                            <td class="attributes">                                    <optional><br>                                                                </td>                                    <td class="description last"><p>dict of free variables</p></td>        </tr>            <tr>                            <td class="name"><code>closure2</code></td>                        <td class="type">                            <span class="param-type">Object</span>                        </td>                            <td class="attributes">                                    <optional><br>                                                                </td>                                    <td class="description last"><p>another dict of free variables that will bemerged into 'closure'. there's 2 to simplify generated code (one is $free,the other is $cell)</p><p>closure is the cell variables from the parent scope that we need to closeover. closure2 is the free variables in the parent scope that we also mightneed to access.</p><p>NOTE: co_varnames and co_name are defined by compiled code only, so we haveto access them via dict-style lookup for closure.</p></td>        </tr>        </tbody></table><dl class="details">                                                        <dt class="tag-source">Source:</dt>    <dd class="tag-source"><ul class="dummy"><li>        <a href="function.js.html">function.js</a>, <a href="function.js.html#line158">line 158</a>    </li></ul></dd>                </dl>        </div>                                     </article></section></div><nav>    <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="Sk.abstr.iter-seqIter.html">seqIter</a></li><li><a href="Sk.builtin.bool.html">bool</a></li><li><a href="Sk.builtin.float_.html">float_</a></li><li><a href="Sk.builtin.func.html">func</a></li><li><a href="Sk.builtin.int_.html">int_</a></li><li><a href="Sk.builtin.none.html">none</a></li><li><a href="Sk.builtin.NotImplemented.html">NotImplemented</a></li><li><a href="Sk.builtin.numtype.html">numtype</a></li><li><a href="Sk.builtin.object.html">object</a></li><li><a href="Sk.builtin.seqtype.html">seqtype</a></li><li><a href="Sk.misceval.Suspension.html">Suspension</a></li></ul><h3>Namespaces</h3><ul><li><a href="Sk.html">Sk</a></li><li><a href="Sk.abstr.html">abstr</a></li><li><a href="Sk.builtin.html">builtin</a></li><li><a href="Sk.ffi.html">ffi</a></li><li><a href="Sk.misceval.html">misceval</a></li></ul></nav><br class="clear"><footer>    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0</a> on Thu Aug 13 2015 08:14:27 GMT-0500 (CDT)</footer><script> prettyPrint(); </script><script src="scripts/linenumber.js"> </script></body></html>
 |