new functions "tostring", "assert", and "format".
This commit is contained in:
57
manual.tex
57
manual.tex
@@ -1,3 +1,5 @@
|
|||||||
|
% $Id: $
|
||||||
|
|
||||||
\documentstyle[A4,11pt,bnf]{article}
|
\documentstyle[A4,11pt,bnf]{article}
|
||||||
|
|
||||||
\newcommand{\rw}[1]{{\bf #1}}
|
\newcommand{\rw}[1]{{\bf #1}}
|
||||||
@@ -42,6 +44,8 @@ as a configuration language for any program that needs one.
|
|||||||
This document describes version 2.2 of the Lua programming language and the
|
This document describes version 2.2 of the Lua programming language and the
|
||||||
API that allows interaction between Lua programs and its host C program.
|
API that allows interaction between Lua programs and its host C program.
|
||||||
It also presents some examples of using the main features of the system.
|
It also presents some examples of using the main features of the system.
|
||||||
|
|
||||||
|
{\em Lua manual: \verb$Date$, \verb$Revision$}
|
||||||
\end{abstract}
|
\end{abstract}
|
||||||
|
|
||||||
\vspace{4ex}
|
\vspace{4ex}
|
||||||
@@ -1080,8 +1084,9 @@ it can be unlocked with a call to \verb'lua_unlock'.
|
|||||||
The set of \Index{predefined functions} in Lua is small but powerful.
|
The set of \Index{predefined functions} in Lua is small but powerful.
|
||||||
Most of them provide features that allows some degree of
|
Most of them provide features that allows some degree of
|
||||||
\Index{reflexivity} in the language.
|
\Index{reflexivity} in the language.
|
||||||
Many of these features cannot be simulated with the rest of the
|
Some of these features cannot be simulated with the rest of the
|
||||||
Language nor with the standard API.
|
Language nor with the standard Lua API.
|
||||||
|
Others are just helpful interfaces to common API functions.
|
||||||
|
|
||||||
The libraries, on the other hand, provide useful routines
|
The libraries, on the other hand, provide useful routines
|
||||||
that are implemented directly through the standard API.
|
that are implemented directly through the standard API.
|
||||||
@@ -1104,7 +1109,10 @@ declared in \verb-lualib.h-.
|
|||||||
\subsubsection*{{\tt dofile (filename)}}\Deffunc{dofile}
|
\subsubsection*{{\tt dofile (filename)}}\Deffunc{dofile}
|
||||||
This function receives a file name,
|
This function receives a file name,
|
||||||
opens it and executes its contents as a Lua chunk.
|
opens it and executes its contents as a Lua chunk.
|
||||||
|
When called without arguments,
|
||||||
|
it executes the contents of the standard input.
|
||||||
It returns 1 if there are no errors, \nil\ otherwise.
|
It returns 1 if there are no errors, \nil\ otherwise.
|
||||||
|
It issues an error when called with a non string argument.
|
||||||
|
|
||||||
\subsubsection*{{\tt dostring (string)}}\Deffunc{dostring}
|
\subsubsection*{{\tt dostring (string)}}\Deffunc{dostring}
|
||||||
This function executes a given string as a Lua chunk.
|
This function executes a given string as a Lua chunk.
|
||||||
@@ -1141,6 +1149,10 @@ and its value,
|
|||||||
or \nil\ if there are no more variables.
|
or \nil\ if there are no more variables.
|
||||||
See Section \ref{exnext} for an example of the use of this function.
|
See Section \ref{exnext} for an example of the use of this function.
|
||||||
|
|
||||||
|
\subsubsection*{{\tt tostring (e)}}\Deffunc{tostring}
|
||||||
|
This function receives an argument of any type and
|
||||||
|
converts it to a string in a reasonable format.
|
||||||
|
|
||||||
\subsubsection*{{\tt print (e1, e2, ...)}}\Deffunc{print}
|
\subsubsection*{{\tt print (e1, e2, ...)}}\Deffunc{print}
|
||||||
This function receives any number of arguments,
|
This function receives any number of arguments,
|
||||||
and prints their values in a reasonable format.
|
and prints their values in a reasonable format.
|
||||||
@@ -1174,6 +1186,10 @@ This tag can be used to distinguish between user
|
|||||||
data with different tags,
|
data with different tags,
|
||||||
and between C functions and Lua functions.
|
and between C functions and Lua functions.
|
||||||
|
|
||||||
|
\subsubsection*{{\tt assert (v)}}\Deffunc{assert}
|
||||||
|
This function issues an {\em ``assertion failed!''} error
|
||||||
|
when its argument is \nil.
|
||||||
|
|
||||||
\subsubsection*{{\tt error (message)}}\Deffunc{error}
|
\subsubsection*{{\tt error (message)}}\Deffunc{error}
|
||||||
This function issues an error message and terminates
|
This function issues an error message and terminates
|
||||||
the last called function from the library
|
the last called function from the library
|
||||||
@@ -1185,6 +1201,7 @@ This function assigns the given value to a global variable.
|
|||||||
The string \verb'name' does not need to be a syntactically valid variable name.
|
The string \verb'name' does not need to be a syntactically valid variable name.
|
||||||
Therefore, this function can set global variables with strange names like
|
Therefore, this function can set global variables with strange names like
|
||||||
\verb'm v 1' or \verb'34'.
|
\verb'm v 1' or \verb'34'.
|
||||||
|
It returns the value of its second argument.
|
||||||
|
|
||||||
\subsubsection*{{\tt getglobal (name)}}\Deffunc{getglobal}
|
\subsubsection*{{\tt getglobal (name)}}\Deffunc{getglobal}
|
||||||
This function retrieves the value of a global variable.
|
This function retrieves the value of a global variable.
|
||||||
@@ -1240,11 +1257,19 @@ All other characters are left unchanged.
|
|||||||
Returns the ascii code of the character \verb's[i]'.
|
Returns the ascii code of the character \verb's[i]'.
|
||||||
If \verb'i' is absent, it is assumed to be 1.
|
If \verb'i' is absent, it is assumed to be 1.
|
||||||
|
|
||||||
\subsubsection*{{\tt int2str (\{i\})}}\Deffunc{int2str}
|
\subsubsection*{{\tt format (formatstring, e1, e2, \ldots)}}\Deffunc{format}
|
||||||
Receives 0 or more numbers.
|
This function returns a formated version of its variable number of arguments
|
||||||
Returns a string with length equal to the number of arguments,
|
following the description given in its first argument (which must be a string).
|
||||||
wherein each character has ascii value equal
|
The format string follows the same rules as the \verb'printf' family of
|
||||||
to its correspondent argument.
|
standard C functions.
|
||||||
|
The only differencies are that the options/modifiers
|
||||||
|
\verb'*', \verb'l', \verb'L', \verb'n', \verb'p',
|
||||||
|
and \verb'h' are not supported.
|
||||||
|
The options \verb'c', \verb'd', \verb'i', \verb'o', \verb'u',
|
||||||
|
\verb'x', \verb'X', \verb'e', \verb'E', \verb'f', and \verb'g' all
|
||||||
|
expect a number argument,
|
||||||
|
while \verb's' expects a string.
|
||||||
|
|
||||||
|
|
||||||
\subsection{Mathematical Functions} \label{mathlib}
|
\subsection{Mathematical Functions} \label{mathlib}
|
||||||
|
|
||||||
@@ -1350,6 +1375,8 @@ Particularly, the format \verb'"s1"' reads a single character.
|
|||||||
\subsubsection*{{\tt readuntil (char)}}\Deffunc{readuntil}
|
\subsubsection*{{\tt readuntil (char)}}\Deffunc{readuntil}
|
||||||
|
|
||||||
Reads the current input until the first ocurrence of the given character.
|
Reads the current input until the first ocurrence of the given character.
|
||||||
|
When called with no parameters or with nil,
|
||||||
|
reads until the end of the current input file.
|
||||||
Returns the string read.
|
Returns the string read.
|
||||||
The character itself is not read.
|
The character itself is not read.
|
||||||
|
|
||||||
@@ -1383,10 +1410,26 @@ For integers, it is the minimum number of digits.
|
|||||||
This option has no meaning for strings.
|
This option has no meaning for strings.
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
|
{\em Warning:}
|
||||||
|
This format parameter is now obsolete;
|
||||||
|
formated output should use the \verb'format' function.
|
||||||
|
|
||||||
When called without a format string,
|
When called without a format string,
|
||||||
this function writes numbers using the \verb'%g' format
|
this function writes numbers using the \verb'%g' format
|
||||||
and strings with \verb'%s'.
|
and strings with \verb'%s'.
|
||||||
|
|
||||||
|
\subsubsection*{{\tt date ()}}\Deffunc{date}
|
||||||
|
|
||||||
|
This function returns 4 values:
|
||||||
|
the current day of the month,
|
||||||
|
the month ([1-12]), the current year,
|
||||||
|
and the day of the week (1 = Sunday, 7 = Saturday).
|
||||||
|
|
||||||
|
\subsubsection*{{\tt time ()}}\Deffunc{time}
|
||||||
|
|
||||||
|
This function returns the current time through 3 values:
|
||||||
|
hours ([0-23]), minutes, and seconds.
|
||||||
|
|
||||||
% \subsubsection*{{\tt debug ()}}
|
% \subsubsection*{{\tt debug ()}}
|
||||||
% This function, when called, repeatedly presents a prompt \verb'lua_debug> '
|
% This function, when called, repeatedly presents a prompt \verb'lua_debug> '
|
||||||
% in the error output stream (\verb'stderr'),
|
% in the error output stream (\verb'stderr'),
|
||||||
|
|||||||
Reference in New Issue
Block a user