NameGen()函数中,如何避免将nil与数字进行不恰当的比较呢?

2026-04-01 19:401阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

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

NameGen()函数中,如何避免将nil与数字进行不恰当的比较呢?

错误信息表明在执行`NameGen`函数时出现了类型不匹配的问题,具体是尝试将`nil`与数字进行比较。以下是简化的错误信息:

NameGen()函数中,如何避免将nil与数字进行不恰当的比较呢?

错误:尝试将nil与数字比较

我得到的错误是

[string "function NameGen()..."]:14: attempt to compare nil with number stack traceback: [string "function NameGen()..."]:14: in function 'NameGen' [string "function NameGen()..."]:23: in main chunk [C]: ?

我的代码:

function NameGen() preftest = math.random(100) ; syltest = math.random(100) ; sufftest = math.random(100) ; pref1 = "New "; _1syl1 = "Lon"; _2syl1 = "Don"; suff1 = " City"; prefchoice = pref1; _1sylchoice = _1syl1; _2sylchoice = _2syl; suffchoice = suff1; if preftest < 50 and _2syltest < 50 and sufftest < 50 then cityname = prefchoice .. _1sylchoice .. _2sylchoice .. suffchoice; elseif preftest < 50 and _2syltest < 50 then cityname = prefchoice .. _1sylchoice .. _2sylchoice; else cityname = _1sylchoice; end end NameGen(); print(cityname); 我没有看到_2syltest被分配到哪里 – 只有syltest.如果_2syltest不是来自其他地方,那可能是问题所在,因为这是你使用该值的条件.

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

NameGen()函数中,如何避免将nil与数字进行不恰当的比较呢?

错误信息表明在执行`NameGen`函数时出现了类型不匹配的问题,具体是尝试将`nil`与数字进行比较。以下是简化的错误信息:

NameGen()函数中,如何避免将nil与数字进行不恰当的比较呢?

错误:尝试将nil与数字比较

我得到的错误是

[string "function NameGen()..."]:14: attempt to compare nil with number stack traceback: [string "function NameGen()..."]:14: in function 'NameGen' [string "function NameGen()..."]:23: in main chunk [C]: ?

我的代码:

function NameGen() preftest = math.random(100) ; syltest = math.random(100) ; sufftest = math.random(100) ; pref1 = "New "; _1syl1 = "Lon"; _2syl1 = "Don"; suff1 = " City"; prefchoice = pref1; _1sylchoice = _1syl1; _2sylchoice = _2syl; suffchoice = suff1; if preftest < 50 and _2syltest < 50 and sufftest < 50 then cityname = prefchoice .. _1sylchoice .. _2sylchoice .. suffchoice; elseif preftest < 50 and _2syltest < 50 then cityname = prefchoice .. _1sylchoice .. _2sylchoice; else cityname = _1sylchoice; end end NameGen(); print(cityname); 我没有看到_2syltest被分配到哪里 – 只有syltest.如果_2syltest不是来自其他地方,那可能是问题所在,因为这是你使用该值的条件.