加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua – 为什么我的代码只打印一次?

发布时间:2020-12-14 21:47:31 所属栏目:大数据 来源:网络整理
导读:它非常容易修复;简单地让它返回nil,但为什么没有那行我的代码不能工作? function x(bool) if bool then return "!" endendprint(x(true),x(false),x(false)) 令它更令人困惑的是,总是打印nil,就像我调用x(false)减去1一样多次. 我似乎无法围绕为什么会发生
它非常容易修复;简单地让它返回nil,但为什么没有那行我的代码不能工作?

function x(bool)
    if bool then
        return "!"
    end
end

print(x(true),x(false),x(false))

令它更令人困惑的是,总是打印nil,就像我调用x(false)减去1一样多次.

我似乎无法围绕为什么会发生这种情况.

解决方法

The manual说:

If control reaches the end of a function without encountering a return statement,then the function returns with no results.

请注意,返回无结果与返回nil不同.

在这个电话中:

print(x(true),x(false))

x(false)都不返回任何内容,但是除了最后一个元素之外的所有元素总是被调整为恰好一个结果.

通常我们看到函数调用返回一个或多个结果只剩下第一个.这里没有结果也没有填充.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读