Lua基础(C#的差异)一

记录整理下知识点,供自己回忆参考。

Lua结尾可以不加“;”

print("HelloLua!!")

代码注释

单行注释:--
多行注释:--[[ ]],--[[ --]], --[[ ]]--

变量与基本数据类型

  • 数值类型:可以存储整数和小数;
  • 布尔类型:只有 true 和 false 两个值;
  • 字符串类型:双引号,单引号都可以,lua 中无 char 类型。
  • type()方法,可以获取一个变量的类型。
  • 变量默认值为 nil。

字符串

  • 字符串表现形式“”,‘’,[[]]。[[]]是原格式输出
  • 字符串相连使用..

字符串操作

  • string.upper(字符串):全部转大写字母。
  • string.lower(字符串):全部转小写字母。
  • string.gsub(原始字符串,旧字符串,新字符串,[替换次数])替换次数不写表示全部替换。
  • string.find (str, substr, [init, [end]]):在一个指定的目标字符串中搜索指定的内容(第三个参数为索引),返回其具体位置。不存在则返回 nil。
  • string.reverse(arg):字符串反转
  • string.format(...):对字符串进行格式化。%s:代表字符串.%d:表示一个整数数字.%f:表示一个小数
  • string.char(arg) 和 string.byte(arg[,int]):char 将整型数字转成字符并连接, byte 转换字符为整数值(可以指定某个字符,默认第一个字符)。
  • string.len(arg):计算字符串长度。单个字母,数字,符号长度都为 1;单个汉字长度为 2
  • string.rep(string, n):返回字符串string的n个拷贝
  • string.gmatch(str, pattern):返回一个迭代器函数,每一次调用这个函数,返回一个在字符串 str 找到的下一个符合 pattern 描述的子串。如果参数 pattern 描述的字符串没有找到,迭代函数返回nil。
  • string.match(str, pattern, init):只寻找源字串str中的第一个配对. 参数init可选, 指定搜寻过程的起点, 默认为1。在成功配对时, 函数将返回配对表达式中的所有捕获结果; 如果没有设置捕获标记, 则返回整个配对字符串. 当没有成功的配对时, 返回nil。

作用域

  • 变量默认是全局变量,就算是声明在函数内的变量,也是全局变量。
  • 使用local声明局部变量
  • 变量默认值是nil

特殊符号

  •  “=”是赋值符
  • “+”不能用作字符串相连,字符串相连为“..”
  • 没有++与--

运算符

  1. 算数运算符 + - * / %
  2. 关系运算符 >  <  >=  <=  ==  (!=)~=
  3. 逻辑运算符 (&&)and, (||)or, (!)not
  4. Lua 语言中无复合赋值运算符 += -= *= /= %=       

分支结构if(没有switch )

循环结构

  • break 立刻结束当前循环
  • 没有continue

数组

  • 可存放不同类型数据,数组下标从1开始 

  • 数组长度不固定

函数

  • Lua是解析型语言,需要先声明函数,在调用。
  • 函数可以直接作为参数来传递
------------声明函数-----------
function Hello()
    print("Hello Lua")
end

function Add(a,b)
    return a+b
end
------------调用函数-----------------
Hello()
local sum = Add(5,6)
print(sum)

------------函数作为参数传递---------------
function AddPro(a,b,func)
    return func(a,b) --别忘了return
end

local sumD = AddPro(7,3,Add)
print(sumD)

 

发布了9 篇原创文章 · 获赞 2 · 访问量 2712

猜你喜欢

转载自blog.csdn.net/u014288698/article/details/104045592