Browse Source

details

v5-2
Roberto Ierusalimschy 27 years ago
parent
commit
e04c2b9aa8
  1. 39
      manual.tex

39
manual.tex

@ -1,4 +1,4 @@
% $Id: manual.tex,v 2.13 1997/09/16 19:01:10 roberto Exp $ % $Id: manual.tex,v 1.1 1998/01/02 18:34:00 roberto Exp roberto $
\documentstyle[fullpage,11pt,bnf]{article} \documentstyle[fullpage,11pt,bnf]{article}
@ -38,7 +38,7 @@ Waldemar Celes
\tecgraf\ --- Computer Science Department --- PUC-Rio \tecgraf\ --- Computer Science Department --- PUC-Rio
} }
\date{\small \verb$Date: 1997/09/16 19:01:10 $} \date{\small \verb$Date: 1998/01/02 18:34:00 $}
\maketitle \maketitle
@ -486,7 +486,7 @@ function calls can be executed as statements:
\produc{stat}{functioncall} \produc{stat}{functioncall}
\end{Produc}% \end{Produc}%
In this case, returned values are thrown away. In this case, returned values are thrown away.
Function calls are explained in Section~\ref{functioncall}. Function calls are explained in \See{functioncall}.
\subsubsection{Local Declarations} \label{localvar} \subsubsection{Local Declarations} \label{localvar}
\Index{Local variables} may be declared anywhere inside a block. \Index{Local variables} may be declared anywhere inside a block.
@ -522,11 +522,11 @@ Basic expressions are:
\end{Produc}% \end{Produc}%
Numbers (numerical constants) and Numbers (numerical constants) and
string literals are explained in Section~\ref{lexical}; string literals are explained in \See{lexical};
variables are explained in Section~\ref{assignment}; variables are explained in \See{assignment};
upvalues are explained in Section~\ref{upvalue}; upvalues are explained in \See{upvalue};
function definitions (\M{function}) are explained in Section~\ref{func-def}; function definitions (\M{function}) are explained in \See{func-def};
function call are explained in Section~\ref{functioncall}. function call are explained in \See{functioncall}.
An access to a global variable \verb|x| is equivalent to a An access to a global variable \verb|x| is equivalent to a
call \verb|getglobal('x')|; call \verb|getglobal('x')|;
@ -549,7 +549,7 @@ the binary \verb|+| (addition),
\verb|/| (division) and \verb|^| (exponentiation), \verb|/| (division) and \verb|^| (exponentiation),
and unary \verb|-| (negation). and unary \verb|-| (negation).
If the operands are numbers, or strings that can be converted to If the operands are numbers, or strings that can be converted to
numbers, according to the rules given in Section~\ref{coercion}, numbers, according to the rules given in \See{coercion},
then all operations except exponentiation have the usual meaning. then all operations except exponentiation have the usual meaning.
Otherwise, an appropriate tag method is called \see{tag-method}. Otherwise, an appropriate tag method is called \see{tag-method}.
An exponentiation always calls a tag method. An exponentiation always calls a tag method.
@ -571,7 +571,7 @@ Numbers and strings are compared in the usual way.
Tables, userdata and functions are compared by reference, Tables, userdata and functions are compared by reference,
that is, two tables are considered equal only if they are the same table. that is, two tables are considered equal only if they are the same table.
The operator \verb|~=| is exactly the negation of equality (\verb|==|). The operator \verb|~=| is exactly the negation of equality (\verb|==|).
Note that the conversion rules of Section~\ref{coercion} Note that the conversion rules of \See{coercion}
\emph{do not} apply to equality comparisons. \emph{do not} apply to equality comparisons.
Thus, \verb|"0"==0| evaluates to false. Thus, \verb|"0"==0| evaluates to false.
@ -602,7 +602,7 @@ the second operand is evaluated only when necessary.
Lua offers a string \Index{concatenation} operator, Lua offers a string \Index{concatenation} operator,
denoted by ``\IndexVerb{..}''. denoted by ``\IndexVerb{..}''.
If operands are strings or numbers, then they are converted to If operands are strings or numbers, then they are converted to
strings according to the rules in Section~\ref{coercion}. strings according to the rules in \See{coercion}.
Otherwise, the ``concat'' tag method is called \see{tag-method}. Otherwise, the ``concat'' tag method is called \see{tag-method}.
\subsubsection{Precedence} \subsubsection{Precedence}
@ -1313,7 +1313,7 @@ there is no guarantee that such pointer will be valid after the block ends
\verb|lua_getcfunction| converts a \verb|lua_Object| to a C function. \verb|lua_getcfunction| converts a \verb|lua_Object| to a C function.
This \verb|lua_Object| must have type \emph{CFunction}; This \verb|lua_Object| must have type \emph{CFunction};
otherwise, the function returns 0 (the \verb|NULL| pointer). otherwise, the function returns 0 (the \verb|NULL| pointer).
The type \verb|lua_CFunction| is explained in Section~\ref{LuacallC}. The type \verb|lua_CFunction| is explained in \See{LuacallC}.
\verb|lua_getuserdata| converts a \verb|lua_Object| to \verb|void*|. \verb|lua_getuserdata| converts a \verb|lua_Object| to \verb|void*|.
This \verb|lua_Object| must have type \emph{userdata}; This \verb|lua_Object| must have type \emph{userdata};
@ -1672,7 +1672,7 @@ For some examples, see files \verb|lstrlib.c|,
\subsection{References to Lua Objects} \subsection{References to Lua Objects}
As noted in Section~\ref{LuacallC}, \verb|lua_Object|s are volatile. As noted in \See{LuacallC}, \verb|lua_Object|s are volatile.
If the C code needs to keep a \verb|lua_Object| If the C code needs to keep a \verb|lua_Object|
outside block boundaries, outside block boundaries,
then it must create a \Def{reference} to the object. then it must create a \Def{reference} to the object.
@ -1893,7 +1893,7 @@ and prints their values in a reasonable format.
This function is not intended for formatted output, This function is not intended for formatted output,
but as a quick way to show a value, but as a quick way to show a value,
for instance for error messages or debugging. for instance for error messages or debugging.
See Section~\ref{libio} for functions for formatted output. See \See{libio} for functions for formatted output.
\subsubsection*{\ff \T{tonumber (e [, base])}}\Deffunc{tonumber} \subsubsection*{\ff \T{tonumber (e [, base])}}\Deffunc{tonumber}
This function receives one argument, This function receives one argument,
@ -2710,27 +2710,30 @@ Here is a list of all these incompatibilities.
\subsection*{Incompatibilities with \Index{version 3.0}} \subsection*{Incompatibilities with \Index{version 3.0}}
\begin{itemize} \begin{itemize}
\item The whole library must be explicitly openen before used. \item To support for multiple contexts,
the whole library must be explicitly openen before used.
However, all standard libraries check whether Lua is already opened, However, all standard libraries check whether Lua is already opened,
so any program that opens at least one standard library before using so any program that opens at least one standard library before using
Lua API does not need to be corrected. Lua API does not need to be corrected.
\item Function \verb|dostring| does not accept an optional second argument, \item Function \verb|dostring| does not accept an optional second argument,
with a temporary error method. with a temporary error method.
Now Function \verb|call| offers this facility. This facility is now provided by function \verb|call|.
\item Function \verb|gsub| does not accept an optional fourth argument \item Function \verb|gsub| no longer accepts an optional fourth argument
(a callback data, a table). (a callback data, a table).
Closures make this feature irrelevant. Closures make this feature irrelevant.
\item The syntax for function declaration is now more restricted; \item The syntax for function declaration is now more restricted;
for instance, the old syntax \verb|function f[exp] (x) ... end| is not for instance, the old syntax \verb|function f[exp] (x) ... end| is not
accepted in 3.1. accepted in 3.1.
Progams should use an explicit assignment instead. Progams should use an explicit assignment instead, like this:
\verb|f[exp] = function (x) ... end|.
\item Old pre-compiled code is obsolete, and must be re-compiled. \item Old pre-compiled code is obsolete, and must be re-compiled.
\item The option \verb|a=b| in Lua stand-alone does not need extra quotes. \item The option \verb|a=b| in Lua stand-alone does not need extra quotes.
Check \See{lua-sa} for details.
\end{itemize} \end{itemize}

Loading…
Cancel
Save