Lua中的变量和流控制入门学习(变量作用域可以重叠吗)学到了

随心笔谈11个月前发布 admin
79 0



复制代码 代码如下:

num=42  — 所有的数字都是double。

— 别担心,double的64位中有52位用于

— 保存精确的int值; 对于需要52位以内的int值,

— 机器的精度不是问题。

复制代码 代码如下:

s=’walternate’  — 像Python那样的不可变的字符串。

t=”双引号也可以”

u=[[ 两个方括号

       用于

       多行的字符串。]]

t=nil  — 未定义的t; Lua 支持垃圾收集。

复制代码 代码如下:

— do/end之类的关键字标示出程序块:

while num < 50 do

  num=num + 1  — 没有 ++ or +=运算符。

end

复制代码 代码如下:

— If语句:

if num > 40 then

  print(‘over 40’)

elseif s ~=’walternate’ then  — ~=表示不等于。

  — 像Python一样,==表示等于;适用于字符串。

  io.write(‘not over 40\n’)  — 默认输出到stdout。

else

  — 默认变量都是全局的。

复制代码 代码如下:
  thisIsGlobal=5  — 通常用驼峰式定义变量名。
复制代码 代码如下:

  — 如何定义局部变量:

  local line=io.read()  — 读取stdin的下一行。

复制代码 代码如下:

  — ..操作符用于连接字符串:

  print(‘Winter is coming, ‘ .. line)

end

复制代码 代码如下:

— 未定义的变量返回nil。

— 这不会出错:

foo=anUnknownVariable  — 现在 foo=nil.

复制代码 代码如下:
aBoolValue=false

–只有nil和false是fals; 0和 ”都是true!

if not aBoolValue then print(’twas false’) end

复制代码 代码如下:

— ‘or’和 ‘and’都是可短路的(译者注:如果已足够进行条件判断则不计算后面的条件表达式)。

— 类似于C/js里的 a?b:c 操作符:

ans=aBoolValue and ‘yes’ or ‘no’  –> ‘no’

复制代码 代码如下:

karlSum=0

for i=1, 100 do  — 范围包括两端

  karlSum=karlSum + i

end

复制代码 代码如下:

— 使用 “100, 1, -1” 表示递减的范围:

fredSum=0

for j=100, 1, -1 do fredSum=fredSum + j end

 通常,范围表达式为begin, end[, step].

复制代码 代码如下:

— 另一种循环表达方式:

repeat

  print(‘the way of the future’)

  num=num – 1

until num==0

您可能感兴趣的文章:Lua中的变量类型与语句学习总结详解Lua中的变量相关知识点Lua教程(十): 全局变量和非全局的环境Lua判断变量是否为数字、字符串是否可以转换为数字等Lua中创建全局变量的小技巧(禁止未预期的全局变量)C语言中通过LUA API访问LUA脚本变量的简单例子Lua变量类型简明总结Lua中的全局变量、非全局变量总结Lua中全局变量与非全局环境介绍Lua中的变量与赋值方法

© 版权声明

相关文章