Sk.builtin.func.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Class: func</title>
  6. <script src="scripts/prettify/prettify.js"> </script>
  7. <script src="scripts/prettify/lang-css.js"> </script>
  8. <!--[if lt IE 9]>
  9. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  10. <![endif]-->
  11. <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
  12. <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  13. </head>
  14. <body>
  15. <div id="main">
  16. <h1 class="page-title">Class: func</h1>
  17. <section>
  18. <header>
  19. <h2>
  20. <span class="ancestors"><a href="Sk.html">Sk</a><a href="Sk.builtin.html">.builtin</a>.</span>
  21. func
  22. </h2>
  23. </header>
  24. <article>
  25. <div class="container-overview">
  26. <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>
  27. <div class="description">
  28. <p>This function converts a Javascript function into a Python object that is callable. Or just
  29. think of it as a Python function rather than a Javascript function now. This is an important
  30. distinction in skulpt because once you have Python function you cannot just call it.
  31. You must now use Sk.misceval.callsim to call the Python function.</p>
  32. </div>
  33. <h5>Parameters:</h5>
  34. <table class="params">
  35. <thead>
  36. <tr>
  37. <th>Name</th>
  38. <th>Type</th>
  39. <th>Attributes</th>
  40. <th class="last">Description</th>
  41. </tr>
  42. </thead>
  43. <tbody>
  44. <tr>
  45. <td class="name"><code>code</code></td>
  46. <td class="type">
  47. <span class="param-type">function</span>
  48. </td>
  49. <td class="attributes">
  50. </td>
  51. <td class="description last"><p>the javascript implementation of this function</p></td>
  52. </tr>
  53. <tr>
  54. <td class="name"><code>globals</code></td>
  55. <td class="type">
  56. <span class="param-type">Object</span>
  57. </td>
  58. <td class="attributes">
  59. &lt;optional><br>
  60. </td>
  61. <td class="description last"><p>the globals where this function was defined.
  62. Can be undefined (which will be stored as null) for builtins. (is
  63. that ok?)</p></td>
  64. </tr>
  65. <tr>
  66. <td class="name"><code>closure</code></td>
  67. <td class="type">
  68. <span class="param-type">Object</span>
  69. </td>
  70. <td class="attributes">
  71. &lt;optional><br>
  72. </td>
  73. <td class="description last"><p>dict of free variables</p></td>
  74. </tr>
  75. <tr>
  76. <td class="name"><code>closure2</code></td>
  77. <td class="type">
  78. <span class="param-type">Object</span>
  79. </td>
  80. <td class="attributes">
  81. &lt;optional><br>
  82. </td>
  83. <td class="description last"><p>another dict of free variables that will be
  84. merged into 'closure'. there's 2 to simplify generated code (one is $free,
  85. the other is $cell)</p>
  86. <p>closure is the cell variables from the parent scope that we need to close
  87. over. closure2 is the free variables in the parent scope that we also might
  88. need to access.</p>
  89. <p>NOTE: co_varnames and co_name are defined by compiled code only, so we have
  90. to access them via dict-style lookup for closure.</p></td>
  91. </tr>
  92. </tbody>
  93. </table>
  94. <dl class="details">
  95. <dt class="tag-source">Source:</dt>
  96. <dd class="tag-source"><ul class="dummy"><li>
  97. <a href="function.js.html">function.js</a>, <a href="function.js.html#line158">line 158</a>
  98. </li></ul></dd>
  99. </dl>
  100. </div>
  101. </article>
  102. </section>
  103. </div>
  104. <nav>
  105. <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>
  106. </nav>
  107. <br class="clear">
  108. <footer>
  109. 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)
  110. </footer>
  111. <script> prettyPrint(); </script>
  112. <script src="scripts/linenumber.js"> </script>
  113. </body>
  114. </html>