Lua基础学习(一)
基本数据类型
Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。
Lua 中有 8 个基本类型分别为:nil(空值,相当于null)、boolean、number(双精度double类型)、string、userdata(表示任意存储在变量中的C数据结构,可以将任意 C/C++ 的任意数据类型的数据(通常是 struct 和 指针)存储到 Lua 变量中调用)、function、thread 和 table(注意这个索引下标从 1 开始)。
nil:
有删除的作用,将一个变量赋值为nil的时候,相当于将这个变量进行了一个删除操作,另外nil进行比较操作的时候需要加上双引号。
如:
x=nil
type(x)nil (返回false)
type(x)“nil”(返回true)
string:
用单引号或者双引号表示
如:
string1 = “this is string1”
string2 = ‘this is string2’
同样也可以用 [[]]表示一大段的文字
字符串之间的连接用“. .”表示,数字字符之间进行算数操作的时候,会把字符串自动转化成数字类型进行计算
print(“2” + 6)
8.0
print(“2” + “6”)
8.0
print(“2 + 6”)
2 + 6
print("-2e2" * “6”)
-1200.0
可以使用#来计算字符串的长度
len = “www.runoob.com”
print(#len)
14
print(#“www.runoob.com”)
14
table:
– 创建一个空的 table
local tbl1 = {}
– 直接初始表(此时的表下标从 1 开始)
local tbl2 = {“apple”, “pear”, “orange”, “grape”}
使用类似字典键值对的方式来操作表:
a = {}
a[“key”] = “value”
key = 10
a[key] = 22
a[key] = a[key] + 11
for k, v in pairs(a) do
print(k … " : " … v)
end
function:
function在lua里面可以当做一个变量来使用,即可以进行函数之间的赋值,可以将函数当做一个变量传入另一个函数,也可以直接使用匿名函数来进行使用。总的来讲感觉就像是把unity里面的委托直接就当做了一种常规用法,不用再使用委托来进行相关操作。
如:
function factorial1(n)
if n == 0 then
return 1
else
return n * factorial1(n - 1)
end
end
print(factorial1(5))
factorial2 = factorial1
print(factorial2(5))
匿名函数和函数作为变量来传递:
function testFun(tab,fun)
for k ,v in pairs(tab) do
print(fun(k,v));
end
end
tab={key1=“val1”,key2=“val2”};
testFun(tab,
function(key,val)–匿名函数
return key…"="…val;
end
);
以上实例都来自 菜鸟教程
- 点赞
- 收藏
- 分享 4000
- 文章举报
- Lua与c/c++调用(一)
- 基于wxlua和remebug实现的简易lua调试器
- ngx_Lua模块中的重定向
- Lua 实现数字转化为中文
- 如何编写lua扩展
- 给脚本绑定LUA解释器
- LUA语言入门
- Lua实现二进制串与Hex显示串的相互转换
- 对“tolua++导出C++子类后在Lua中无法添加新成员”这一问题的初步分析
- 那些年lua踩过的雷点
- Lua时间戳转换
- 【lua/aviutl】小型倒计时
- 【lua/aviutl】游戏对话框效果
- 【aviutl/lua】BPM打点
- xlua中hotfix简单实用
- Lua math 库
- Lua调用C++
- 【esp8266】lua开发(一)lua环境搭建
- 学习Lua脚本语言小成果总结,一
- 机器学习读书笔记(六)Model Evaluation and Hyperparameter Tuning