Lua迭代器到数组
发布时间:2020-12-15 00:16:36 所属栏目:大数据 来源:网络整理
导读:在Lua的说法中,是否有任何语法糖用于将迭代器函数转换为数组(重复调用结果存储在升序索引中),也许是标准库中的某些内容? 我正在对属于协议的字符串进行标记,并且需要对字符串开头的元素进行位置访问,并且字符串的结尾是变量集合. 代码(特定于我的用例)如下,
在Lua的说法中,是否有任何语法糖用于将迭代器函数转换为数组(重复调用结果存储在升序索引中),也许是标准库中的某些内容?
我正在对属于协议的字符串进行标记,并且需要对字符串开头的元素进行位置访问,并且字符串的结尾是变量集合. 代码(特定于我的用例)如下,我发现很难相信它不在标准库中:d local array_tokenise = function (line) local i = 1; local array = {}; for item in string.gmatch(line,"%w+") do array[i] = item; i = i +1 end return array end 解决方法
它没有标准的库函数.但实际上,编写它是非常简单的:
function BuildArray(...) local arr = {} for v in ... do arr[#arr + 1] = v end return arr end local myArr = BuildArray(<iterator function call>) 这只有在迭代器函数返回单个元素时才有效.如果它返回多个元素,则必须做一些不同的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |