Lua迭代器如何转换成数组,能问出长尾词吗?

2026-04-01 20:111阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计375个文字,预计阅读时间需要2分钟。

Lua迭代器如何转换成数组,能问出长尾词吗?

在Lua的语法中,没有特定语法糖用于将迭代器函数转换为数组(重复调用结果存储在升序索引中)。这通常是手动实现的,例如通过使用循环和收集迭代器返回的值。对于标准库,也并没有内置这样的转换功能。关于对协议相关的字符串进行标记,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>)

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

Lua迭代器如何转换成数组,能问出长尾词吗?

本文共计375个文字,预计阅读时间需要2分钟。

Lua迭代器如何转换成数组,能问出长尾词吗?

在Lua的语法中,没有特定语法糖用于将迭代器函数转换为数组(重复调用结果存储在升序索引中)。这通常是手动实现的,例如通过使用循环和收集迭代器返回的值。对于标准库,也并没有内置这样的转换功能。关于对协议相关的字符串进行标记,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>)

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

Lua迭代器如何转换成数组,能问出长尾词吗?