首先祝大家 猿宵节 快乐~
安装Lua
以macosx为例:
wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
tar zxf lua-5.3.5.tar.gz
cd lua-5.3.5
根据需要修改Makefile文件中的变量 INSTALL_TOP,值改成想要安装到的目录,默认是安装到/usr/local下
make macosx
make install
进入安装目录就可以看到 bin、include、lib、share等目录,大功告成。可以把bin目录加入系统$PATH,以便可以直接运行lua命令。
运行Lua程序
和python等其他语言类似,可以运行lua命令,进入lua解释器,逐行输入代码,逐行执行。如:
lua
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
> print 'Hello, Lua World - www.daemoncoder.com'
Hello, Lua World - www.daemoncoder.com
也可以把代码保存到文件中:
cat > hello.lua
print("Hello, Lua World - www.daemoncoder.com")
然后用lua命令执行文件:
lua hello.lua
Hello, Lua World - www.daemoncoder.com
第一个Hello World的Lua程序就这样学会了,是不是很简单,最后让我们看一个统计词数的demo先来感受一个Lua代码,和其他语言大同小异,看不懂也没有关系,我们后续会有详细的Lua教程。
local counter = {}
for line in io.lines() do
for word in string.gmatch(line, "%w+") do
counter[word] = (counter[word] or 0) + 1
end
end
local words = {}
for w in pairs(counter) do
words[#words + 1] = w
end
table.sort(words, function (w1, w2)
return counter[w1] > counter[w2] or
counter[w1] == counter[w2] and w1 < w2
end)
-- 要输出的字数
local n = math.min(tonumber(arg[1] or math.huge, #words))
for i = 1, n do
io.write(words[i], "\t", counter[words[i]], "\n")
end
后续会有更多详细的Lua学习文章,请关注www.daemoncoder.com的持续更新。