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