您的位置:首页 > 编程语言 > Lua

Ubuntu安装lua并基本使用

2013-09-05 10:29 423 查看
最近因为要深入应用premake,所以得学点lua.
Ubuntu13.04下安装命令:
apt-get install lua5.2 lua5.2-doc
版本是5.2.1, 不算最新,不过也很新了。官方参考在这里:http://www.lua.org/manual/5.2/

这是动态语言,变量无需声明其类型,变量的值就自带了类型。一共有以下8种类型:
nil, boolean, number, string, function, userdata, thread, and table

number是浮点数。
string是不可变类型,有点像Java。
userdata就是保存C的struct. full userdata是内存有lua分配的userdata, 如果是内存有宿主语言(host)分配的,叫做light userdata.
thread这里不是操作系统的线程,而是lua的一个协同程序(coroutines), 甚至可以在不支持线程的平台上模拟出线程的特性。
table 一个关系数组,可以用除nil之外的任何类型做索引(key), 包含了key和value, 可以用来表示数组,符号表,集合,记录,图和树等。真复杂,希望我不要用到。:)
table, function, thread和 full userdata 被使用时都是当作对象,变量只是引用它们的地址,并不拷贝它们。参数传递,函数的返回值和复制都是如此,不会深拷贝。

在lua官方站点找不到一个上手的例子,没有helloworld。要的话就去买书?我不想成为专家,只是想完成我的premake构建而已。书就不必了。Google一下,找到一篇文章:
http://www.thegeekstuff.com/2009/12/lua-hello-world-example-how-to-write-and-execute-lua-program-on-linux-os/

现在开始。用emacs创建hello1.lua文件。
#!/usr/bin/lua

-- hello world lua program
print ("Hello World!")

然后运行命令:
codes/study/lua$ lua hello1.lua
Hello World!成功了,现在学到一个lua函数print。
稍微改动一下,把字面常量换成变量,也work.
#!/usr/bin/lua

-- hello world lua program
str = "Hello World!"
print (str)


现在试一下if语句和字符串比较#!/usr/bin/lua

-- hello world lua program
str = "Hello World!"
print (str)

if str == "Hello World!" then
print "ok"
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu lua