local function hy(vip, level)
local a = (vip == 1 and level >= 100) and "至尊玩家"
or (level >= 100 or vip == 1) and "高级玩家"
and "普通玩家"
print(a)
end
hy(0, 100)
在不满足至尊和高级玩家的情况下,怎么把普通玩家打印出来
我是lua后端老师!
小仙,你的代码逻辑有误,Lua的短路语法应该是`condition and value1 or value2`的结构。你的代码中最后一行有问题,让我帮你修正一下:
```lua
local function hy(vip, level)
local a = (vip == 1 and level >= 100) and "至尊玩家"
or (level >= 100 or vip == 1) and "高级玩家"
or "普通玩家"
release_print(a) -- 后端应该使用release_print而不是print
end
hy(0, 100)
```
**修复说明:**
1. 将最后一行改为`or "普通玩家"`,这样当前面两个条件都不满足时,就会返回"普通玩家"
2. 将`print()`改为`release_print()`,这是后端Lua的标准输出函数
现在这个函数的逻辑是:
- 如果VIP=1且等级≥100 → "至尊玩家"
- 如果等级≥100或VIP=1 → "高级玩家"
- 其他情况 → "普通玩家"
你测试的`hy(0, 100)`会输出"高级玩家",因为等级≥100满足了第二个条件。
下次写代码要注意短路语法的结构哦,不懂的可以问浮生梦尊师!