blxyz521 发表于 2024-4-27 15:05:18

lulin155 发表于 2024-4-27 02:08 PM
我笑了!你还是去都学学LUA 基础吧   去把你代码执行一遍再来说话!基本的运算你都没理解

你奥术飞 ...

自己看区别,犟的很,非得啪啪打你脸才舒服

lulin155 发表于 2024-4-27 19:51:20

哈哈哈 好好看题目没读懂就装   我也没精力和你辩驳!不在一个频道 你继续做舔狗 告辞!

vshrd 发表于 2024-4-28 09:18:47

lulin155 发表于 2024-4-26 12:50 PM
不懂就别瞎几把教别人

在函数末尾放置return可以方便地处理错误情况。如果函数执行过程中遇到错误, ...

return的意义是退出当前栈= =
或者说退出当前代码域= =
当然我不是说非要来纠正你
只是单纯的提醒下注意语气
技术交流可以更和谐一点

vshrd 发表于 2024-4-28 09:20:05

blxyz521 发表于 2024-4-27 01:28 PM
不懂就别瞎几把教别人
6楼版主说的才是对的“return除了返回值外,还有终止执行语句的作用”。



return的意义是退出当前栈= =
或者说退出当前代码域= =
当然我不是说非要来纠正你
只是单纯的提醒下注意语气
技术交流可以更和谐一点

冰梦 发表于 2024-4-28 09:52:18

看到一位桩径失败 啪啪打脸了

notveryimba 发表于 2024-4-28 10:36:07

vshrd 发表于 2024-4-28 09:20 AM
return的意义是退出当前栈= =
或者说退出当前代码域= =
当然我不是说非要来纠正你


本来就是很基础的东西,而且基本上编程语言都有这个东西,多用点就能明白return的作用。同意V大的说法,技术交流和谐点会更好

blxyz521 发表于 2024-4-28 16:33:51

vshrd 发表于 2024-4-28 09:20 AM
return的意义是退出当前栈= =
或者说退出当前代码域= =
当然我不是说非要来纠正你


那是复制他的,我就是看他语气不好才怼一下,要不然谁管他是对还是错。

吾奶常煽赵子龙 发表于 2024-4-29 18:04:32

本帖最后由 吾奶常煽赵子龙 于 2024-4-29 06:06 PM 编辑

一个简单的return还引得大家吵得不可开交,和谐和谐。

其实很简单的,return有两个功能:

第一个,结束所在函数的运行,直接退出该函数:

local function test()
    print("2")
    print("3")
end

local function main()
    print("1")
   
    test()
   
    print("4")
end

main()

上面没有加return,将打印:
1
2
3
4
如果在test函数中加一个return,如:

local function test()
    print("2")
   
    -- test函数执行到这里就直接退出该函数了,该函数的后续代码将不会被执行
    -- 这里是直接return,正常情况下一般是满足某个条件再return
    return
   
    print("3")
end

local function main()
    print("1")
   
    test()
   
    print("4")
end

main()

上面代码将打印:
1
2
4
return只会影响它所在的函数,不会影响其他函数。


第二个,设置函数返回值。
lua函数都是有返回值的,如果没有return,函数执行结束后会返回一个nil,如果想要返回我们自己想要的数据,就需要用到return,比如返回一个字符串:

local function test()
    print("2")
    print("3")

    -- 这里返回了一个字符串
    return "asdasdasd"
end


至于加不加return,什么时候加return,就要看函数的具体逻辑了。

龙套哥 发表于 2024-5-1 20:32:47

老久没上,我给你一个比较不权威的解释。
最早的wowbee是模拟按键。参考这个贴子https://blog.sina.com.cn/s/blog_5749d3bc01012z5h.html。
他会让f12一直动态改变你call的宏,放你的需要的技能。
所以wowbee的脚本就是这种
if 判断条件 then
run(某个技能)
return
end
的格式。run的时候就会把对应的技能通过生成”/cast技能名称的字符串“ 发到f12这个宏位置上。
如果不写return并同时存在多个满足条件的技能,因为魔兽自己还存在施法队列先后的问题,在这个刷新宏text的机制下,可能会卡掉其中某一个满足条件技能的施法(当时亲测),会导致脚本卡住或者其中的某个技能根本放不出来。
不过你们现在私服用的解锁版本wowbee,不存在这个问题。 放技能都是走的魔兽的api,加上这个脚本是在wowbee的循环里运行的。return什么都没有意义,大多数情况是可以不写的。 如果发现卡技能,再加上也可以。
当然加上是最好的,这样脚本看起来比较整齐、专业。可以最大层面上避免奇怪的卡技能错误。
页: 1 [2]
查看完整版本: return 这个函数到底有什么用啊?