Lua

2018/07/05 Other

Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式程序移植到其他应用程序, 它是由C语言实现的,虽然简单小巧但是功能强大,所以许多应用都选用它作为脚本语言

用法简述

Lua语言提供了如下几种数据类型:booleans(布尔)、numbers(数值)、strings(字符串)、tables(表格),和许多高级语言相比,相对简单。

数据类型及其逻辑处理

字符串

local strings val = "world"

local代表局部变量,没有local是全局变量。

-- 结果是"world"
print(hello)

–代表注释

数组

在Lua中,如果要使用类似数组的功能,可以用tables类型,但和大多数编程语言不同的是,Lua的数组下标从1开始计算:

local tables myArray = {"redis", "jedis", true, 88.0}
-- true
print(myArray[3])
for

关键字for以end作为结束符:

local int sum = 0
for i = 1, 100
do
	sum = sum + i
end
-- 输出结果为5050
print(sum)

tables的长度,只需要在变量前加一个#号即可:

for i = 1, #myArray
do
	print(myArray[i])
end

Lua还提供了内置函数ipairs,可以遍历出所有的索引下标和值:

for index,value in ipairs(myArray)
do
	print(index)
	print(value)
end
while

while循环同样以end作为结束符。

local int sum = 0
local int i = 0
while i <= 100
do
	sum = sum +i
	i = i + 1
end
-- 输出结果为5050
print(sum)
if else
local tables myArray = {"redis", "jedis", true, 88.0}
for i = 1, #myArray
do
	if myArray[i] == "jedis"
	then
		print("true")
		break
	else
		-- do nothing
	end
end

哈希

如果要使用类似哈希的功能,同样可以使用tables类型。

local tables user_1 = {age = 28, name = "tome"}
-- user_1 age is 28
print("user_1 age is " .. user_1["age"])
for key,value in pairs(user_1)
	do print(key .. value)
end

函数定义

在Lua中,函数以function开头,以end结尾,funcName是函数名,中间部分是函数体:

function funcName()
	...
end
function contact(str1, str2)
	return str1 .. str2
end

--"hello world"
print(contact("hello ", "world"))

以上内容官来源于《Redis开发与运维》

Search

    Post Directory