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