在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
The first time use Lua for programing Wang Xiao
1. 关于 lua 的变量类型:
lua 变量的定义与matlab有点不同:
local d , f = 5 ,10 --声明局部变量 d,f。 d , f = 5, 10; --声明全局变量 d,f。
如果只是定义没有初始化,则静态存储变量被隐式初始化为 nil。 Lua 赋值时会将第一个值赋给第一个变量,第二个值赋给第二个变量,依次类推。 来一个比较叼的交换语句:
local a,b -- 变量定义 a = 10 b = 30 print("value of a:", a) print("value of b:", b) b,a = a,b -- 直接将a and b 对换,有点叼有木有,连中间变量都不需要的。 print("value of a:", a) print("value of b:", b) f = 70.0/3.0 print("value of f", f)
2. 两个需要注意的地方: 若想要跳出循环,只要 break 语句即可。
3. 函数的定义: --[[ function returning the max between two numbers --]] function max(num1, num2) if(num1 > num2) then result = num1; else result = num2; end return result; end
-- 调用函数 print("The maximum of the two numbers is", max(10, 4)) print("The maximum of the two numbers is", max(5, 6))
-- 执行结果 The maximum of the two numbers is 10 The maximum of the two numbers is 6
在 Lua 中,使用 ... 作为参数可以创建参数个数可变的函数,即: 变参函数。
4. 字符串 string1 = "Lua" print("\"String 1 is\"", string1) string2 = 'Tutorial' print("String 2 is", string2)
string3 = [[ "Lua Tutorial" ]] print("String 3 is", string3)
-- the output results "String 1" is Lua String 2 is Tutorial String 3 is "Lua Tutorial"
-- the output are: Basic formating Lua Tutorial Date formating 02/01/2014 0.3333
5. 数组:
Lua 的索引是从1开始的。
多维数组:
array = {"Lua", "Tutorial"} function elementlterator (collection) local index = 0 local count = #collection -- 返回闭包函数 return function index = index + 1 if index <= count then -- 返回迭代器的当前元素 return collection[index] end end end
for element in elementlterator(array) do print(element) end
|
请发表评论