So I have learned about LuaTeX, which basically implements TeX in Lua and thus enables Lua scripting inside a TeX document. Thus I want to learn Lua!
Hello World!
I installed the basic lua50 package on ubuntu, so let me write my first program.
-- begin hello.lua
-- This is a comment
print("Goodbye, Cruel World!")
-- end hello.lua
One runs it on the *nix command line by $ lua hello.lua
However, we can use write(...) instead of print(...), the difference is that print() automatically adds a new line.
Getting User Input
We can ask for user's information:
-- begin name.lua
io.write("What's your name? ")
name = io.read()
print("Why, '"..name.."' is a stupid name!")
-- end name.lua
We start using the io module's functions. We need to indicate this by calling io.read() and io.write()
Unique Aspects of Lua
Lua is unique in that everything is-a table. That's how you implement classes, data structures, and so on. (Think how LISP has everything is-a list.)
Even operator overloading is handled through tables...well, "metatables".
There are many examples of advanced table usage on Lua's wiki. So next time, we'll start considering examples involving tables.
No comments:
Post a Comment