]>
Commit | Line | Data |
---|---|---|
1 | <!-- $Id: lua.man,v 1.11 2006/01/06 16:03:34 lhf Exp $ --> | |
2 | <HTML> | |
3 | <HEAD> | |
4 | <TITLE>LUA man page</TITLE> | |
5 | <LINK REL="stylesheet" TYPE="text/css" HREF="lua.css"> | |
6 | </HEAD> | |
7 | ||
8 | <BODY BGCOLOR="#FFFFFF"> | |
9 | ||
10 | <H2>NAME</H2> | |
11 | lua - Lua interpreter | |
12 | <H2>SYNOPSIS</H2> | |
13 | <B>lua</B> | |
14 | [ | |
15 | <I>options</I> | |
16 | ] | |
17 | [ | |
18 | <I>script</I> | |
19 | [ | |
20 | <I>args</I> | |
21 | ] | |
22 | ] | |
23 | <H2>DESCRIPTION</H2> | |
24 | <B>lua</B> | |
25 | is the stand-alone Lua interpreter. | |
26 | It loads and executes Lua programs, | |
27 | either in textual source form or | |
28 | in precompiled binary form. | |
29 | (Precompiled binaries are output by | |
30 | <B>luac</B>, | |
31 | the Lua compiler.) | |
32 | <B>lua</B> | |
33 | can be used as a batch interpreter and also interactively. | |
34 | <P> | |
35 | The given | |
36 | <I>options</I> | |
37 | (see below) | |
38 | are executed and then | |
39 | the Lua program in file | |
40 | <I>script</I> | |
41 | is loaded and executed. | |
42 | The given | |
43 | <I>args</I> | |
44 | are available to | |
45 | <I>script</I> | |
46 | as strings in a global table named | |
47 | <B>arg</B>. | |
48 | If these arguments contain spaces or other characters special to the shell, | |
49 | then they should be quoted | |
50 | (but note that the quotes will be removed by the shell). | |
51 | The arguments in | |
52 | <B>arg</B> | |
53 | start at 0, | |
54 | which contains the string | |
55 | '<I>script</I>'. | |
56 | The index of the last argument is stored in | |
57 | <B>arg.n</B>. | |
58 | The arguments given in the command line before | |
59 | <I>script</I>, | |
60 | including the name of the interpreter, | |
61 | are available in negative indices in | |
62 | <B>arg</B>. | |
63 | <P> | |
64 | At the very start, | |
65 | before even handling the command line, | |
66 | <B>lua</B> | |
67 | executes the contents of the environment variable | |
68 | <B>LUA_INIT</B>, | |
69 | if it is defined. | |
70 | If the value of | |
71 | <B>LUA_INIT</B> | |
72 | is of the form | |
73 | '@<I>filename</I>', | |
74 | then | |
75 | <I>filename</I> | |
76 | is executed. | |
77 | Otherwise, the string is assumed to be a Lua statement and is executed. | |
78 | <P> | |
79 | Options start with | |
80 | <B>'-'</B> | |
81 | and are described below. | |
82 | You can use | |
83 | <B>'--'</B> | |
84 | to signal the end of options. | |
85 | <P> | |
86 | If no arguments are given, | |
87 | then | |
88 | <B>"-v -i"</B> | |
89 | is assumed when the standard input is a terminal; | |
90 | otherwise, | |
91 | <B>"-"</B> | |
92 | is assumed. | |
93 | <P> | |
94 | In interactive mode, | |
95 | <B>lua</B> | |
96 | prompts the user, | |
97 | reads lines from the standard input, | |
98 | and executes them as they are read. | |
99 | If a line does not contain a complete statement, | |
100 | then a secondary prompt is displayed and | |
101 | lines are read until a complete statement is formed or | |
102 | a syntax error is found. | |
103 | So, one way to interrupt the reading of an incomplete statement is | |
104 | to force a syntax error: | |
105 | adding a | |
106 | <B>';'</B> | |
107 | in the middle of a statement is a sure way of forcing a syntax error | |
108 | (except inside multiline strings and comments; these must be closed explicitly). | |
109 | If a line starts with | |
110 | <B>'='</B>, | |
111 | then | |
112 | <B>lua</B> | |
113 | displays the values of all the expressions in the remainder of the | |
114 | line. The expressions must be separated by commas. | |
115 | The primary prompt is the value of the global variable | |
116 | <B>_PROMPT</B>, | |
117 | if this value is a string; | |
118 | otherwise, the default prompt is used. | |
119 | Similarly, the secondary prompt is the value of the global variable | |
120 | <B>_PROMPT2</B>. | |
121 | So, | |
122 | to change the prompts, | |
123 | set the corresponding variable to a string of your choice. | |
124 | You can do that after calling the interpreter | |
125 | or on the command line | |
126 | (but in this case you have to be careful with quotes | |
127 | if the prompt string contains a space; otherwise you may confuse the shell.) | |
128 | The default prompts are "> " and ">> ". | |
129 | <H2>OPTIONS</H2> | |
130 | <P> | |
131 | <B>-</B> | |
132 | load and execute the standard input as a file, | |
133 | that is, | |
134 | not interactively, | |
135 | even when the standard input is a terminal. | |
136 | <P> | |
137 | <B>-e </B><I>stat</I> | |
138 | execute statement | |
139 | <I>stat</I>. | |
140 | You need to quote | |
141 | <I>stat </I> | |
142 | if it contains spaces, quotes, | |
143 | or other characters special to the shell. | |
144 | <P> | |
145 | <B>-i</B> | |
146 | enter interactive mode after | |
147 | <I>script</I> | |
148 | is executed. | |
149 | <P> | |
150 | <B>-l </B><I>name</I> | |
151 | call | |
152 | <B>require</B>('<I>name</I>') | |
153 | before executing | |
154 | <I>script</I>. | |
155 | Typically used to load libraries. | |
156 | <P> | |
157 | <B>-v</B> | |
158 | show version information. | |
159 | <H2>SEE ALSO</H2> | |
160 | <B>luac</B>(1) | |
161 | <BR> | |
162 | <A HREF="http://www.lua.org/">http://www.lua.org/</A> | |
163 | <H2>DIAGNOSTICS</H2> | |
164 | Error messages should be self explanatory. | |
165 | <H2>AUTHORS</H2> | |
166 | R. Ierusalimschy, | |
167 | L. H. de Figueiredo, | |
168 | and | |
169 | W. Celes | |
170 | <!-- EOF --> | |
171 | </BODY> | |
172 | </HTML> |