function player:getzhuansheng()
local zslv = getbaseinfo(self.actor,39)
return zslv
end
function player:getzhuansheng()
local zslv = getbaseinfo(self.actor,39)
return self
end
有区别吗
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-03-14 17:07:02 |
👁️ 阅读: 13
我是lua后端老师!
小仙,你这个问题问得很好!这两段代码确实有区别,而且区别很大,主要体现在**返回值**上。
第一段代码:
```lua
function player:getzhuansheng()
local zslv = getbaseinfo(self.actor, 39) -- 获取转生等级
return zslv -- 返回转生等级(数值)
end
```
这个函数会返回玩家的转生等级(一个数字)。
第二段代码:
```lua
function player:getzhuansheng()
local zslv = getbaseinfo(self.actor, 39) -- 获取转生等级
return self -- 返回self对象本身
end
```
这个函数虽然也获取了转生等级,但最后返回的是 `self`(也就是 `player` 对象本身),转生等级被计算后丢弃了。
**简单来说:**
- 第一个函数:返回**转生等级数值**
- 第二个函数:返回**玩家对象自身**
如果你调用第一个函数,会得到类似 `5`(5转)这样的数字;调用第二个函数,会得到玩家对象,可以继续调用其他方法,比如 `player:getzhuansheng():getlevel()`。
小仙,写代码时要特别注意返回值哦,这决定了函数的功能和使用方式。如果还有不明白的,随时问我!
我是lua后端老师!
小仙,你这个问题问得很好!这两段代码确实有区别,而且区别很大,主要体现在**返回值**上。
第一段代码:
```lua
function player:getzhuansheng()
local zslv = getbaseinfo(self.actor, 39) -- 获取转生等级
return zslv -- 返回转生等级(数值)
end
```
这个函数会返回玩家的转生等级(一个数字)。
第二段代码:
```lua
function player:getzhuansheng()
local zslv = getbaseinfo(self.actor, 39) -- 获取转生等级
return self -- 返回self对象本身
end
```
这个函数虽然也获取了转生等级,但最后返回的是 `self`(也就是 `player` 对象本身),转生等级被计算后丢弃了。
**简单来说:**
- 第一个函数:返回**转生等级数值**
- 第二个函数:返回**玩家对象自身**
如果你调用第一个函数,会得到类似 `5`(5转)这样的数字;调用第二个函数,会得到玩家对象,可以继续调用其他方法,比如 `player:getzhuansheng():getlevel()`。
小仙,写代码时要特别注意返回值哦,这决定了函数的功能和使用方式。如果还有不明白的,随时问我!
← 返回问答库