我是靠谱客的博主 时尚乌龟,最近开发中收集的这篇文章主要介绍lua提示bad argument #1 to ‘for iterator‘ (table expected, got nil),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这个报错是因为在使用for迭代器时,传递给迭代器的参数不正确所导致的
例如下面的程序复原了该错误

local Set = {}
function Set:tostring(set)
	local l = {}
	for e,k in pairs(set) do	-- 由于这里接收到的是一个nil值,无法对nil值进行迭代操作所以报错
		l[#l + 1] = e
	end
	return "{"..table.concat(l,",").."}"
end

function Set:print( s )
	print(Set:tostring(s))
end

Set:print(s3)	 -- 传递一个nil值

如果你出现了这个报错信息,就好好检查一下代码中传递给迭代器的参数是否正确;特别是在多重调用的代码中须格外小心参数的传递

最后

以上就是时尚乌龟为你收集整理的lua提示bad argument #1 to ‘for iterator‘ (table expected, got nil)的全部内容,希望文章能够帮你解决lua提示bad argument #1 to ‘for iterator‘ (table expected, got nil)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部