comparison website/src/manual.html.luan @ 468:9b51e2413cab

documentation
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 08 May 2015 17:29:28 -0600
parents 47c7de1f2322
children 85467f95ab13
comparison
equal deleted inserted replaced
467:f86bf532f87c 468:9b51e2413cab
81 </li> 81 </li>
82 <li><a href="#visibility">Visibility Rules</a></li> 82 <li><a href="#visibility">Visibility Rules</a></li>
83 </ul> 83 </ul>
84 </div> 84 </div>
85 85
86 <div margin-bottom="1em">
87 <a href="#libs">Standard Libraries</a>
88 <ul>
89 <li><a href="#default_lib">Default Environment</a></li>
90 </ul>
91 </div>
92
86 <hr/> 93 <hr/>
87 94
88 95
89 <h2 margin-top="1em"><a name="intro">Introduction</a></h2> 96 <h2 margin-top="1em"><a name="intro">Introduction</a></h2>
90 97
1799 1806
1800 1807
1801 1808
1802 1809
1803 1810
1804 <h1>6 &ndash; <a name="6">Standard Libraries</a></h1> 1811 <h2 margin-top="1em"><a name="libs">Standard Libraries</a></h2>
1805 1812
1806 <p> 1813 <p>
1807 The standard Lua libraries provide useful functions 1814 The standard Luan libraries provide useful functions
1808 that are implemented directly through the C&nbsp;API. 1815 that are implemented both in Java and in Luan itself.
1816 How each function is implemented shouldn't matter to the user.
1809 Some of these functions provide essential services to the language 1817 Some of these functions provide essential services to the language
1810 (e.g., <a href="#pdf-type"><code>type</code></a> and <a href="#pdf-getmetatable"><code>getmetatable</code></a>); 1818 (e.g., <a href="#pdf-type"><tt>type</tt></a> and <a href="#pdf-getmetatable"><tt>get_metatable</tt></a>);
1811 others provide access to "outside" services (e.g., I/O); 1819 others provide access to "outside" services (e.g., I/O).
1812 and others could be implemented in Lua itself, 1820
1813 but are quite useful or have critical performance requirements that 1821
1814 deserve an implementation in C (e.g., <a href="#pdf-table.sort"><code>table.sort</code></a>). 1822 <h3 margin-top="1em"><a name="default_lib">Default Environment</a></h3>
1815 1823
1816 1824 <p>
1817 <p> 1825 These are provided by default as local variables for any Luan code as described in <a href="#env">Environments</a>.
1818 All libraries are implemented through the official C&nbsp;API 1826
1819 and are provided as separate C&nbsp;modules. 1827 <h4 margin-top="1em"><a name="_ENV"><tt>_ENV</tt></a></h4>
1820 Currently, Lua has the following standard libraries: 1828
1821 1829 <p>
1822 <ul> 1830 This is a table that holds the global variables of a module as described in <a href="#env">Environments</a>.
1823
1824 <li>basic library (<a href="#6.1">&sect;6.1</a>);</li>
1825
1826 <li>coroutine library (<a href="#6.2">&sect;6.2</a>);</li>
1827
1828 <li>package library (<a href="#6.3">&sect;6.3</a>);</li>
1829
1830 <li>string manipulation (<a href="#6.4">&sect;6.4</a>);</li>
1831
1832 <li>basic UTF-8 support (<a href="#6.5">&sect;6.5</a>);</li>
1833
1834 <li>table manipulation (<a href="#6.6">&sect;6.6</a>);</li>
1835
1836 <li>mathematical functions (<a href="#6.7">&sect;6.7</a>) (sin, log, etc.);</li>
1837
1838 <li>input and output (<a href="#6.8">&sect;6.8</a>);</li>
1839
1840 <li>operating system facilities (<a href="#6.9">&sect;6.9</a>);</li>
1841
1842 <li>debug facilities (<a href="#6.10">&sect;6.10</a>).</li>
1843
1844 </ul><p>
1845 Except for the basic and the package libraries,
1846 each library provides all its functions as fields of a global table
1847 or as methods of its objects.
1848
1849
1850 <p>
1851 To have access to these libraries,
1852 the C&nbsp;host program should call the <a href="#luaL_openlibs"><code>luaL_openlibs</code></a> function,
1853 which opens all standard libraries.
1854 Alternatively,
1855 the host program can open them individually by using
1856 <a href="#luaL_requiref"><code>luaL_requiref</code></a> to call
1857 <a name="pdf-luaopen_base"><code>luaopen_base</code></a> (for the basic library),
1858 <a name="pdf-luaopen_package"><code>luaopen_package</code></a> (for the package library),
1859 <a name="pdf-luaopen_coroutine"><code>luaopen_coroutine</code></a> (for the coroutine library),
1860 <a name="pdf-luaopen_string"><code>luaopen_string</code></a> (for the string library),
1861 <a name="pdf-luaopen_utf8"><code>luaopen_utf8</code></a> (for the UTF8 library),
1862 <a name="pdf-luaopen_table"><code>luaopen_table</code></a> (for the table library),
1863 <a name="pdf-luaopen_math"><code>luaopen_math</code></a> (for the mathematical library),
1864 <a name="pdf-luaopen_io"><code>luaopen_io</code></a> (for the I/O library),
1865 <a name="pdf-luaopen_os"><code>luaopen_os</code></a> (for the operating system library),
1866 and <a name="pdf-luaopen_debug"><code>luaopen_debug</code></a> (for the debug library).
1867 These functions are declared in <a name="pdf-lualib.h"><code>lualib.h</code></a>.
1868 1831
1869 1832
1870 1833
1871 <h2>6.1 &ndash; <a name="6.1">Basic Functions</a></h2> 1834 <h2>6.1 &ndash; <a name="6.1">Basic Functions</a></h2>
1872 1835