Mercurial Hosting > luan
changeset 475:7ac0891718eb
documentation
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 10 May 2015 20:44:55 -0600 |
parents | 00646edc9d92 |
children | cd22e4694ea3 |
files | website/src/manual.html.luan |
diffstat | 1 files changed, 83 insertions(+), 232 deletions(-) [+] |
line wrap: on
line diff
--- a/website/src/manual.html.luan Sun May 10 16:09:45 2015 -0600 +++ b/website/src/manual.html.luan Sun May 10 20:44:55 2015 -0600 @@ -2034,50 +2034,41 @@ - -<p> -<hr><h3><a name="pdf-pairs"><code>pairs (t)</code></a></h3> - - -<p> -If <code>t</code> has a metamethod <code>__pairs</code>, -calls it with <code>t</code> as argument and returns the first three -results from the call. +<h4 margin-top="1em"><a name="Luan.pairs"><tt>Luan.pairs (t)</tt></a></h4> + +<p> +If <tt>t</tt> has a metamethod <tt>__pairs</tt>, +calls it with <tt>t</tt> as argument and returns the +result from the call. <p> Otherwise, -returns three values: the <a href="#pdf-next"><code>next</code></a> function, the table <code>t</code>, and <b>nil</b>, +returns a function so that the construction -<pre> - for k,v in pairs(t) do <em>body</em> end -</pre><p> -will iterate over all key–value pairs of table <code>t</code>. - - -<p> -See function <a href="#pdf-next"><code>next</code></a> for the caveats of modifying -the table during its traversal. - - - - -<p> -<hr><h3><a name="pdf-pcall"><code>pcall (f [, arg1, ···])</code></a></h3> - - -<p> -Calls function <code>f</code> with -the given arguments in <em>protected mode</em>. -This means that any error inside <code>f</code> is not propagated; -instead, <code>pcall</code> catches the error +<p><tt><pre> + for k,v in pairs(t) do <i>body</i> end +</pre></tt></p> + +<p> +will iterate over all key–value pairs of table <tt>t</tt>. + + + +<h4 margin-top="1em"><a name="Luan.pcall"><tt>Luan.pcall (f [, arg1, ···])</tt></a></h4> + +<p> +Calls function <tt>f</tt> with +the given arguments in <i>protected mode</i>. +This means that any error inside <tt>f</tt> is not propagated; +instead, <tt>pcall</tt> catches the error and returns a status code. Its first result is the status code (a boolean), which is true if the call succeeds without errors. -In such case, <code>pcall</code> also returns all results from the call, +In such case, <tt>pcall</tt> also returns all results from the call, after this first result. -In case of any error, <code>pcall</code> returns <b>false</b> plus the error message. +In case of any error, <tt>pcall</tt> returns <b>false</b> plus the error. @@ -2096,46 +2087,47 @@ -<p> -<hr><h3><a name="pdf-rawequal"><code>rawequal (v1, v2)</code></a></h3> -Checks whether <code>v1</code> is equal to <code>v2</code>, +<h4 margin-top="1em"><a name="Luan.raw_equal"><tt>Luan.raw_equal (v1, v2)</tt></a></h4> + +<p> +Checks whether <tt>v1</tt> is equal to <tt>v2</tt>, without invoking any metamethod. Returns a boolean. - -<p> -<hr><h3><a name="pdf-rawget"><code>rawget (table, index)</code></a></h3> -Gets the real value of <code>table[index]</code>, +<h4 margin-top="1em"><a name="Luan.raw_get"><tt>Luan.raw_get (table, index)</tt></a></h4> + +<p> +Gets the real value of <tt>table[index]</tt>, without invoking any metamethod. -<code>table</code> must be a table; -<code>index</code> may be any value. - - - - -<p> -<hr><h3><a name="pdf-rawlen"><code>rawlen (v)</code></a></h3> -Returns the length of the object <code>v</code>, +<tt>table</tt> must be a table; +<tt>index</tt> may be any value. + + + +<h4 margin-top="1em"><a name="Luan.raw_len"><tt>Luan.raw_len (v)</tt></a></h4> + +<p> +Returns the length of the object <tt>v</tt>, which must be a table or a string, without invoking any metamethod. Returns an integer. - -<p> -<hr><h3><a name="pdf-rawset"><code>rawset (table, index, value)</code></a></h3> -Sets the real value of <code>table[index]</code> to <code>value</code>, +<h4 margin-top="1em"><a name="Luan.raw_set"><tt>Luan.raw_set (table, index, value)</tt></a></h4> + +<p> +Sets the real value of <tt>table[index]</tt> to <tt>value</tt>, without invoking any metamethod. -<code>table</code> must be a table, -<code>index</code> any value different from <b>nil</b> and NaN, -and <code>value</code> any Lua value. - - -<p> -This function returns <code>table</code>. +<tt>table</tt> must be a table, +<tt>index</tt> any value different from <b>nil</b>, +and <tt>value</tt> any Lua value. + + +<p> +This function returns <tt>table</tt>. @@ -2154,21 +2146,18 @@ -<p> -<hr><h3><a name="pdf-setmetatable"><code>setmetatable (table, metatable)</code></a></h3> - +<h4 margin-top="1em"><a name="Luan.set_metatable"><tt>Luan.set_metatable (table, metatable)</tt></a></h4> <p> Sets the metatable for the given table. -(You cannot change the metatable of other types from Lua, only from C.) -If <code>metatable</code> is <b>nil</b>, +If <tt>metatable</tt> is <b>nil</b>, removes the metatable of the given table. -If the original metatable has a <code>"__metatable"</code> field, +If the original metatable has a <tt>"__metatable"</tt> field, raises an error. <p> -This function returns <code>table</code>. +This function returns <tt>table</tt>. @@ -2206,180 +2195,42 @@ -<p> -<hr><h3><a name="pdf-tostring"><code>tostring (v)</code></a></h3> +<h4 margin-top="1em"><a name="Luan.to_string"><tt>Luan.to_string (v)</tt></a></h4> + +<p> Receives a value of any type and converts it to a string in a human-readable format. -Floats always produce strings with some -floating-point indication (either a decimal dot or an exponent). -(For complete control of how numbers are converted, -use <a href="#pdf-string.format"><code>string.format</code></a>.) - - -<p> -If the metatable of <code>v</code> has a <code>"__to_string"</code> field, -then <code>tostring</code> calls the corresponding value -with <code>v</code> as argument, + +<p> +If the metatable of <tt>v</tt> has a <tt>"__to_string"</tt> field, +then <tt>to_string</tt> calls the corresponding value +with <tt>v</tt> as argument, and uses the result of the call as its result. - -<p> -<hr><h3><a name="pdf-type"><code>type (v)</code></a></h3> +<h4 margin-top="1em"><a name="Luan.type"><tt>Luan.type (v)</tt></a></h4> + +<p> Returns the type of its only argument, coded as a string. The possible results of this function are -"<code>nil</code>" (a string, not the value <b>nil</b>), -"<code>number</code>", -"<code>string</code>", -"<code>boolean</code>", -"<code>table</code>", -"<code>function</code>", -"<code>thread</code>", -and "<code>userdata</code>". - - - - -<p> -<hr><h3><a name="pdf-_VERSION"><code>_VERSION</code></a></h3> +"<tt>nil</tt>" (a string, not the value <b>nil</b>), +"<tt>number</tt>", +"<tt>string</tt>", +"<tt>binary</tt>", +"<tt>boolean</tt>", +"<tt>table</tt>", +"<tt>function</tt>", +and "<tt>userdata</tt>". + + + +<h4 margin-top="1em"><a name="Luan.VERSION"><tt>Luan.VERSION</tt></a></h4> + +<p> A global variable (not a function) that holds a string containing the current interpreter version. -The current value of this variable is "<code>Lua 5.3</code>". - - - - -<p> -<hr><h3><a name="pdf-xpcall"><code>xpcall (f, msgh [, arg1, ···])</code></a></h3> - - -<p> -This function is similar to <a href="#pdf-pcall"><code>pcall</code></a>, -except that it sets a new message handler <code>msgh</code>. - - - - - - - -<h2>6.2 – <a name="6.2">Coroutine Manipulation</a></h2> - -<p> -The operations related to coroutines comprise a sub-library of -the basic library and come inside the table <a name="pdf-coroutine"><code>coroutine</code></a>. -See <a href="#2.6">§2.6</a> for a general description of coroutines. - - -<p> -<hr><h3><a name="pdf-coroutine.create"><code>coroutine.create (f)</code></a></h3> - - -<p> -Creates a new coroutine, with body <code>f</code>. -<code>f</code> must be a Lua function. -Returns this new coroutine, -an object with type <code>"thread"</code>. - - - - -<p> -<hr><h3><a name="pdf-coroutine.isyieldable"><code>coroutine.isyieldable ()</code></a></h3> - - -<p> -Returns true when the running coroutine can yield. - - -<p> -A running coroutine is yieldable if it is not the main thread and -it is not inside a non-yieldable C function. - - - - -<p> -<hr><h3><a name="pdf-coroutine.resume"><code>coroutine.resume (co [, val1, ···])</code></a></h3> - - -<p> -Starts or continues the execution of coroutine <code>co</code>. -The first time you resume a coroutine, -it starts running its body. -The values <code>val1</code>, ... are passed -as the arguments to the body function. -If the coroutine has yielded, -<code>resume</code> restarts it; -the values <code>val1</code>, ... are passed -as the results from the yield. - - -<p> -If the coroutine runs without any errors, -<code>resume</code> returns <b>true</b> plus any values passed to <code>yield</code> -(when the coroutine yields) or any values returned by the body function -(when the coroutine terminates). -If there is any error, -<code>resume</code> returns <b>false</b> plus the error message. - - - - -<p> -<hr><h3><a name="pdf-coroutine.running"><code>coroutine.running ()</code></a></h3> - - -<p> -Returns the running coroutine plus a boolean, -true when the running coroutine is the main one. - - - - -<p> -<hr><h3><a name="pdf-coroutine.status"><code>coroutine.status (co)</code></a></h3> - - -<p> -Returns the status of coroutine <code>co</code>, as a string: -<code>"running"</code>, -if the coroutine is running (that is, it called <code>status</code>); -<code>"suspended"</code>, if the coroutine is suspended in a call to <code>yield</code>, -or if it has not started running yet; -<code>"normal"</code> if the coroutine is active but not running -(that is, it has resumed another coroutine); -and <code>"dead"</code> if the coroutine has finished its body function, -or if it has stopped with an error. - - - - -<p> -<hr><h3><a name="pdf-coroutine.wrap"><code>coroutine.wrap (f)</code></a></h3> - - -<p> -Creates a new coroutine, with body <code>f</code>. -<code>f</code> must be a Lua function. -Returns a function that resumes the coroutine each time it is called. -Any arguments passed to the function behave as the -extra arguments to <code>resume</code>. -Returns the same values returned by <code>resume</code>, -except the first boolean. -In case of error, propagates the error. - - - - -<p> -<hr><h3><a name="pdf-coroutine.yield"><code>coroutine.yield (···)</code></a></h3> - - -<p> -Suspends the execution of the calling coroutine. -Any arguments to <code>yield</code> are passed as extra results to <code>resume</code>. +The current value of this variable is "<tt>Luan 0.8</tt>".