【问题标题】:Why does my lua script print both values?为什么我的 lua 脚本会打印这两个值?
【发布时间】:2017-09-07 20:24:51
【问题描述】:

首先,这是我第一次在 Lua 中编码,更不用说编码了。

我正在测试 lua 是否可以制作一些模组,但我真的不知道我做错了什么。我试图让我的脚本用 2 个不同的值说 2 个不同的东西,但 lua 一直在打印 BOTH 值。

这是我的代码:

sword = unequipped 
if sword == equipped then
print("This feels quite heavy")end 
if sword == unequipped then 
print("I feel unstoppable")
end

当我运行脚本时,它会打印出两个值,所以在终端中,它会说;

 This feels quite heavy
 I feel unstoppable

我该如何解决这个问题?

提前致谢!

【问题讨论】:

    标签: lua


    【解决方案1】:

    我怀疑你的问题是你没有定义unequippedequipped 所以他们都是nil 所以sword 等于他们两个。

    一般来说,当您遇到此类问题时,请尝试使用交互式解释器。例如

    bash-3.2$ lua
    Lua 5.2.4  Copyright (C) 1994-2015 Lua.org, PUC-Rio
    > sword = unequipped
    > print(sword)
    nil
    > print(equipped)
    nil
    > print(sword == equipped)
    true
    

    【讨论】:

    • 然后它应该可以工作吗?我也可以在我的脚本中这样做吗?
    • 以交互方式运行解释器将帮助您了解正在发生的事情,但如何让它工作仍然取决于您。在这种特殊情况下,您可能希望 a) 在分配 sword 之前将 unequippedequipped 分配给不同的值,或者可能 b) 切换到使用带引号的字符串文字,例如sword = "unequipped"if sword == "equipped" 等等,但您可以做很多事情。采取何种方法最终取决于您。
    • 不客气。一件小事:这个问题与emacs 无关,所以你可能想删除那个标签。
    猜你喜欢
    • 2023-02-23
    • 2016-11-01
    • 1970-01-01
    • 2020-03-12
    • 2011-03-21
    • 1970-01-01
    • 2017-12-16
    • 2020-05-19
    相关资源
    最近更新 更多