[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Documentation problem
- From: Philippe Lhoste <PhiLho@...>
- Date: Tue, 5 Dec 2000 11:26:53 -0500
I believe there are two little problems with the HTML version of the Lua 4.0
documentation. I was quite confused by these, until I had the idea of
cross-checking with the PDF doc.:
4.1 - Lexical Conventions
Missing the '%' character to the list of other tokens.
I am not sure for the absence of `^' (both in HTML and PDF), as it seems to
belong to the math. lib., but is listed in the binop below.
Same for `:', which is used in the notation t:f(x). Should it be in the list
above, or is it a special notation, not a token (whatever a token really
is...)? Since you list this notation as "syntaxic sugar", perhaps it is not a
real token (ie. doesn't generate a specific bytecode, or something like that).
The Complete Syntax of Lua
binop ::= [snip] | `<B>\^{ </B>' | [snip] | `<B>\ { </B>'=} <BR> [snip]
In the PDF file, we have `^' for the first item (displayed as `\^{ ') and `~='
for the second one (displayed as `\ { '=}).
I suppose it is a little bug in a HTML generation program.
On a lighter side, I have found this amusing site:
http://www.ionet.net/~timtroyr/funhouse/beer.html
It is akin to the Hello world site, ie. it is meant to show the implementation
of a simple task in the maximum number of languages. It is a bit more
sophisticated than the Hello world, though, because it features loop and
string formatting.
Of course, I checked to see if Lua was showcased. Not! So I choose to make my
first Lua program with this exercice. Here is my work:
function PrintBottleNumber(n)
local bs
if n == 0 then
bs = "No more bottles"
elseif n == 1 then
bs = "One bottle"
else
bs = n .. " bottles"
end
return bs .. " of beer"
end
for bn = 99, 1, -1 do
write(PrintBottleNumber(bn), " on the wall, \n")
write(PrintBottleNumber(bn), "\n")
write("Take one down and pass it around,\n")
write(PrintBottleNumber(bn-1), " on the wall, \n\n")
end
write("No more bottles of beer on the wall,\nNo more bottles of beer\n")
write("Go to the store, buy some more!\n")
It is probably not very Lua-like, ie. I made it more in the spirit of VBScript
than using advanced Lua features (beside the Lua 4.0 `for'). If you have some
ideas to improve it...
Otherwise, I will try and send this submission.
Regards.
¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯
Philippe Lhoste (Paris -- France)
Professional programmer and amateur artist
http://jove.prohosting.com/~philho/
http://philho.multimania.com/
_.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._