为什么在if语句中使用两个变量会报错?

我正在尝试为Minecraft的计算机各种MOD编写LUA脚本。脚本应该将海龟下沉、挖出一个洞并放置梯子,然后返回地面。我想在海龟没有足够的梯子时显示一个错误,但是却收到了阻止脚本运行的错误信息。'mineDown:18:尝试比较预期为数字但得到字符串的字符串。'

-- 这让用户告诉乌龟要挖多深
print('我应该下多少?')
金斯顿下 = IO读取()
迪斯特谬移动 = 0
梯子 = Turtle.getItemCount(13)

-- 检查梯子数量是否小于需要移动的距离。如果是,则返回错误。
    海龟选择(13)
    如果梯子<下距离,则
        错误('没有足够的梯子!')
    结论
点赞
用户9706
用户9706

这个错误的意思是,梯子是数字类型,而distDown是字符串类型。你需要将它们转换为相同的类型。例如,要将梯子转换为字符串,请使用tostring,要将distDown转换为数字,请使用tonumber

if ladders < tonumber(distDown) then
2021-03-28 20:22:43