Lua1.0使用与研究-array

首先看一下array.lua的代码

$debug
a = @()
i=0
while i<10 do
 a[i] = i*i
 i=i+1
end

r,v = next(a,nil)
while r ~= nil do
 print ("array["..r.."] = "..v)
 r,v = next(a,r)
end


$debug

    --在lua中起什么作用,暂时不清楚 2012.08.16
a = @()
    --在lua中起什么作用,暂时不清楚,但是根据代码上下文,应该是定义了一个数组a
      2012.08.16
    --定义table的语法,Lua通过table来实现数组
    --在Lua中习惯上数组的下标从1开始,Lua的标准库与此习惯保持一致。
      因此如果你的数组下标也是从1开始你就可以直接使用标准库的函数,
      否则就无法直接使用
    
i=0
while i<10 do
 a[i] = i*i
 i=i+1
end
    --上面这个代码在非交互式模式下,是一个语句块,在交互模式下i=0应该是一个独立的
      语句块。这些概念我是在lua5.1手册看到。先不管 2012.08.16
    --实现了为数组a的赋值
    --需要仔细关注table的

r,v = next(a,nil)
    --next是一个什么函数?作用?2012.08.16
    --在代码里应该是返回数组a的索引和值,因为lua里function可以返回多个值。2012.08.16
    --next(a,nil)应改返回数组a的第一个索引以及第一个值。2012.08.16
    --lua5.1 11..1
      --且数组不必事先指定大小,大小可以随需要动态的增长
      --可以根据需要定义数组的下标从0,1或者任意其他的数值开始
    --next的实现在hash.c文件lua_next函数
    
print ("array["..r.."] = "..v)
    --首先..是一个连接符号,挺像c++,java里的多个字符串相加的效果。
    --如果连接符号左右是数字,数值,将转化为字符串。2012.08.16
    --比c里打印数值要简单,如何实现打印不同格式的数值呢?2012.08.16

貌似lua代码里不支持中英文混排,起码在lua1.0里是这样。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值