lua – 如何在表中表示nil
发布时间:2020-12-14 21:48:58 所属栏目:大数据 来源:网络整理
导读:我们假设我想存储一个元素列表.包括一些零值.值的位置很重要,我需要在给定位置表示列表中缺少值. 这是一个问题: a = {1,2,3,nil,4}for k,v in ipairs(a) do print(k,v)endprint(a[4]) print(a[5]) for循环只会打印元素1,2和3.它会停止为零.第一个print语句
我们假设我想存储一个元素列表.包括一些零值.值的位置很重要,我需要在给定位置表示列表中缺少值.
这是一个问题: a = {1,2,3,nil,4} for k,v in ipairs(a) do print(k,v) end print(a[4]) print(a[5]) for循环只会打印元素1,2和3.它会停止为零.第一个print语句打印nil,但我不确定它是否实际存储在表中. (谁知道?)第二个打印语句打印4 – 正如预期的那样. 所以这里有一个问题:如何表示表中的元素列表,并有效地迭代它们?鉴于上述条件,例如这个职位很重要,而且有些职位“空洞”.换句话说:没有价值,但在那个位置缺乏价值具有意义. 解决方法
这是模块“null.lua”
local function null(...) local t,n = {...},select('#',...) for k = 1,n do local v = t[k] if v == null then t[k] = nil elseif v == nil then t[k] = null end end return (table.unpack or unpack)(t,1,n) end _G.null = null 使用null()作为编码器和解码器 require("null") a = {null(1,4)} -- the same could be done element-by-element -- a = {null(1),null(2),null(3),null(nil),null(4)} for k,v in ipairs(a) do v = null(v) print(k,v) end print(null(a[4])) print(null(a[5])) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- django ConnectionError: Error 104 while writing to sock
- 【搬家】VB.NET开发全功能串口调试助手
- macos – Firemonkey OS X – 请求提升的权限
- 我如何在WPF中“DoEvents”?
- ThinkPHP采用原生query实现关联查询left join实例
- delphi – 我如何自定义绘制TEdit控件文本?
- Delphi类和组件-TObject浅析
- spring – javax.el.PropertyNotFoundException:在类型j
- 字典 – Groovy有合并2地图的方法吗?
- #Leetcode# 1016. Binary String With Substrings Represen