Lua Mac&Windows开发环境组建及部分语法例子

Mac:


1.安装Lua编译器

  1. 下载Lua, http://www.lua.org/
  2. 解压后,cd进入该文件夹src目录下,修改Makefile里macosx后一行为 macosx: $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX -arch i386" MYLIBS="-arch i386 -lreadline" 保存退出。
  3. 在当前文件夹执行make macosx   然后回车
  4. cd 到上一目录,执行sudo make install
  5. 完成之后执行lua -v 可以看到:
    [python]   view plain  copy  在CODE上查看代码片  派生到我的代码片
    1. Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio  
表示安装成功;

2.安装Sublime Text2    

1.下载http://sublime-text-2.cn.uptodown.com后打开;

{  
 "cmd": ["/usr/local/bin/lua", "$file"],  
 "file_regex": "^(...*?):([0-9]*):?([0-9]*)",  
 "selector": "source.lua"  
}  
2.保存为Lua.sublime-build, 之后重启Sublime Text 2
3.ctrl+n新建文件,输入print("hello world")保存到英文路径目录下
4.然后ctrl+b启动编译。就会看到如图:

注:一定要保存在英文路径下,如果保存在中文路径下会出现如下异常:
[python]   view plain  copy  在CODE上查看代码片  派生到我的代码片
  1. Traceback (most recent call last):  
  2.   File "./sublime_plugin.py", line 337in run_  
  3.   File "./exec.py", line 130in run  
  4. UnicodeEncodeError: 'ascii' codec can't encode characters in position 36-37: ordinal not in range(128)  

Windows:

下载LuaForWindows安装包安装,过程中如果出现无法连接服务器的情况,需要去微软补丁官网下载Microsoft Visual 2005 SP1的组件安装,重新安装即可。安装成功会出现交互模式(SciTE)和编译器(Lua)的icon,这样就可以直接在两个工具里面敲写脚本了:


SciTE需要建个类似文本的文件保存为后缀名为XXX.lua,运行需要在上面菜单点击运行三角图标:



PS:

学习基础的部分例子,初识lua,变学习变更新咯

--[[ function fact (n)
if n == 0 then
return 1;
else
return n*fact(n-1)
end
end


print("enter a number:")
a = io.read("*number")       --读取一个数字
print(fact(a)) ]]--


--[[ line = io.read()
n = tonumber(line)
if n == nil then
error(line .. "is not a valid number")
else
print(n*2)
end ]]--


-- print(tostring(10) == "10")  --> true
-- print(10 .. "" == "10")   --> true


--[[ a = "hello"
print(#a) --> 5 #计算字符串的长度
print(#"good\0bye") --> 8 \0 占一个字符长度
]]--


--[[
for i = 1,10
do
print(i*10)
end
]]--


--[[
x = math.pi
print(x - x%0.01)
--]]


--[[
a = {}
for i = 1,10
do
a[i] = io.read()
end
local i = 1
while a[i] do
print(a[i])
i = i+1
end
]]--


--[[
for i = 10,1,-2 do
print("for:") print(i)
end
]]--


--[[
--泛型for的使用
a = {4,5,8,10,13,6,9,7}
for i,v in ipairs(a)   -->打印value
do
print(v)
end


for i in pairs(a) -->打印key
do
print(i)
end
print(#a)
]]--


local testTable1 = {"a","b","c","d","e"}
local testTable2 = {1,2,3,4,5}
local testTable3 = {'a','b','c','d','e'}
local testTable4 = {"a","b","c",nil,"e"}
local testTable5 = {'a','b',nil,'d','e'}
local testTable6 = {1,2,nil,4,5}
local testTable7 = {"a","b","c","d",nil}
local testTable8 = {x = "a",y = "b",z = "c"}
local testTable9 = {"1","2","3"}
testTable9[5] = "5"
--testTable9[4] = "4"


print(#testTable1)
print(#testTable2)
print(#testTable3)
print(#testTable4)
print(#testTable5)
print(#testTable6)
print(#testTable7)
print(#testTable8)
print(#testTable9)

--[[
days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}
revDays = {}
for k,v in ipairs(days)
do
 revDays[v] = k
end
x = "Tuesday"
print(revDays[x])
]]--




--[[
--函数多值返回情况
function maximum (a)
local mi = 1
local m = a[mi]
for i,v in ipairs(a)
do
if v > m then
mi = i;m = v
end
end
return m,mi
end
print(maximum({8,10,23,12,5}))
]]--




--[[
-- 类似于格式化
print("for" .. 10)


--unpack:返回列表所有值
print(unpack{10,20,30})
]]--


--[[
--传入可变参数函数例子
function add(...)
local s =0
for i,v in ipairs{...} do
s = s + v
end
return s
end


print(add(3,4,10,25))
]]--

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值