gpt4 book ai didi

Lua 迭代器到数组

转载 作者:行者123 更新时间:2023-12-04 17:12:05 26 4
gpt4 key购买 nike

用 Lua 的说法,是否有任何语法糖可以将迭代器函数转换为数组(重复调用,结果存储在升序索引中),也许在标准库中?

我正在标记一个属于协议(protocol)的字符串,并且需要对字符串开头的元素进行位置访问,而字符串的结尾是一个变体集合。

代码(特定于我的用例)如下,我很难相信它不在标准库中: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>)

这仅在您的迭代器函数返回单个元素时才有效。如果它返回多个元素,则您必须做一些不同的事情。

关于Lua 迭代器到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8316251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com