找回密码
 register

QQ登录

只需一步,快速开始

查看: 601|回复: 0

[游戏教程] LUA常见错误:类型冲突、全局变量的迷雾、表的黑洞、尝试调用非函数类型

[复制链接]

[游戏教程] LUA常见错误:类型冲突、全局变量的迷雾、表的黑洞、尝试调用非函数类型

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:94
  • 打卡月天数:17
  • 打卡总奖励:94
  • 最近打卡:2025-01-18 01:28:20
Waylee

主题

0

回帖

1万

积分

仙帝

积分
12364
Waylee 2023-6-14 09:16 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×
Lua编程之旅:探索常见错误

Lua是一个强大而灵活的编程语言,但就像在浩瀚的宇宙中探索未知一样,使用Lua也会遇到许多“陷阱”和“黑洞”。下面让我们一起踏上Lua编程的冒险之旅,探索其中的一些常见错误。

错误1:类型冲突

首先,我们碰到了第一个“陷阱”:类型冲突。想象一下,我们正在编写一个程序来计算宇宙飞船的飞行速度,但突然发现,“字符串”和“数字”竟然发生了冲突!

local speed = "1000"
print(speed + 500) -- 噢不,这会引发错误,因为不能将字符串和数字相加!


为了修复这个错误,你需要确保将速度的值设为数字,而不是字符串:

local speed = 1000 -- 正确的类型,速度应为数字
print(speed + 500) -- 这将打印1500,没有错误


错误2:全局变量的迷雾

接下来,我们飞向了全局变量的迷雾区域。在Lua中,你可以在任何地方声明全局变量,然而,这可能会引导你走向错误的星球。

print(fuelLevel) -- 糟糕,我们忘记声明fuelLevel变量,这将会引发错误!


为了修复这个错误,你需要先声明fuelLevel变量,然后再使用它:

local fuelLevel = 50 -- 燃料水平已声明
print(fuelLevel) -- 这将打印50,没有错误


错误3:表的黑洞

然后,我们来到了表的黑洞。Lua的表是一种强大的数据结构,但是,如果不小心,你可能会陷入黑洞。

local spaceship = {}
print(spaceship.engine.thrust) -- 啊,尝试在不存在的键上获取值,这将导致错误!


为了修复这错误,你需要确保只访问表中实际存在的键:

local spaceship = {engine = {thrust = 1000}}
print(spaceship.engine.thrust) -- 这将打印1000,没有错误


错误4:尝试调用非函数类型

最后,我们来到了尝试调用非函数类型的星云。在这个星云中,只有函数才能被调用,其他类型的变量将会引发灾难。

local mission = "Moon Landing"
mission() -- 不!在字符串上尝试调用函数,这将导致错误!


为了修复这个错误,你需要确保你正在调用的是一个函数:

local mission = function() print("Moon Landing") end
mission() -- 这将打印"Moon Landing",没有错误


希望这些例子可以帮助新手更好地理解Lua中常见的错误,以及如何避免它们!
您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |天天打卡

GMT+8, 2025-1-20 03:38 , Processed in 0.099468 second(s), 8 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表