Lua语法小贴士(六)迭代器

Lua里面可以使用for in语句来遍历table,一般会使用内置的ipairs或pairs方法,而这两个方法会返回迭代器(关于迭代器的相关理论知识,参考小话设计模式(十五)迭代器模式)。本文就介绍一下如何自定义迭代器。

首先我们看一下ipairs的写法:

local tbl = {"a","b","c"}
for i, var in ipairs(tbl) do
    print(i, var)
end
--1    a
--2    b
--3    c

还有pairs的写法:

local tbl = {a="x",b="y",c="z"}
for key, var in pairs(tbl) d
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Scintilla中设置Lua语法,您需要执行以下步骤: 1. 下载Scintilla的最新版本,并将其解压缩到您的本地计算机上。 2. 下载Lua语法文件(例如,lua.api)并将其放置在Scintilla目录下。 3. 打开Scintilla目录中的SciTEGlobal.properties文件并添加以下行: ``` file.patterns.lua=*.lua lexer.$(file.patterns.lua)=lua ``` 4. 打开Scintilla目录中的lexers\Lua.properties文件并将其设置为以下内容: ``` # Lua lexer settings lexer.$(file.patterns.lua)=5 lexer.$(file.patterns.lua).keywords=and break do else elseif end false for function if in local nil not or repeat return then true until while lexer.$(file.patterns.lua).lexer.lpeg=lua lexer.$(file.patterns.lua).comment.line=-- lexer.$(file.patterns.lua).comment.box=--[[ ]] # Indentation settings statement.indent.$(file.patterns.lua)=1 block.start.$(file.patterns.lua)=1 block.end.$(file.patterns.lua)=-1 indent.opening.$(file.patterns.lua)=[(=*\[[ indent.closing.$(file.patterns.lua)=[)=*\]] ``` 5. 打开Scintilla目录中的properties\lua.properties文件并将其设置为以下内容: ``` # Lua properties filter.lualint=$(SciteDefaultHome)\tools\lualint.exe|*.lua|$(SciteDefaultHome)\tools\luac.exe|*.lua command.compile.*.lua=$(SciteDefaultHome)\tools\luac.exe $(FileNameExt) command.build.*.lua=$(SciteDefaultHome)\tools\lualint.exe $(FileNameExt) ``` 6. 保存文件并重新启动Scintilla。 现在,Scintilla将自动识别并高亮显示以.lua结尾的文件,并使用Lua语法进行解析。您还可以使用Scintilla的其他功能,例如自动缩进和代码折叠。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值