找回密码
 点一下
楼主: Renee

[Takes Bug][仅限1.24/1.24b]一个简单的关于方便理解"takes" "return" "=

[复制链接]
发表于 2009-11-22 19:21:27 | 显示全部楼层
反正电脑没有游戏~~什么事情都跟自己没关系了~~
回复

使用道具 举报

发表于 2009-11-23 11:42:50 | 显示全部楼层
这个bug是啥事侯发现的...

那个最后一个return?
是对于整个程序而言的么?
比如1秒的时候执行了一个有return的函数
之后4秒内都没有任何动作...
那么第5秒的时候用这个bug就返回第1秒时那个return?
回复

使用道具 举报

发表于 2009-11-23 11:49:16 | 显示全部楼层
我查的资料貌似是9月份的………………那至少在这之前就有了
话说20楼的回复可真是不负责任啊
回复

使用道具 举报

发表于 2009-11-23 11:53:26 | 显示全部楼层
引用第21楼Conflux于2009-11-23 11:42发表的  :
这个bug是啥事侯发现的...

那个最后一个return?
是对于整个程序而言的么?
比如1秒的时候执行了一个有return的函数
.......
见14L
回复

使用道具 举报

发表于 2009-11-23 11:55:37 | 显示全部楼层
呜哇哇,这个难道是演示?
回复

使用道具 举报

发表于 2009-11-23 12:09:12 | 显示全部楼层
引用第23楼疯人¢衰人于2009-11-23 11:53发表的  :

见14L
哦... 看到了...
之前都是盯着头目看的,把可怜的孔明给无视掉了...
回复

使用道具 举报

发表于 2009-11-23 12:21:43 | 显示全部楼层
“这个函数调用之前的return无效,只有在调用之后出现的return有用”

这句话没看懂...
回复

使用道具 举报

发表于 2009-11-23 12:28:30 | 显示全部楼层
比如一个函数A和一个函数B,在某函数中连续执行
即使没有等待
那么A中的return不会被B继承
但是如果B中调用了A
那么A的会被继承
但是如果可继承的return到读取之间有等待
那么会报错跳出游戏

大约是因为return的存储空间会在等待时自动释放(类似0连接数的handle)
回复

使用道具 举报

发表于 2009-11-23 12:41:56 | 显示全部楼层
[jass]
function Int takes integer i returns integer
    return i
//把i入栈
//函数结束把栈里元素返回给调用方
endfunction


function I2UHelper takes integer i returns unit
//调用函数 返回值入栈
    call Int(i)
//返回值无人取仍在栈里
    if false then
        return null
//把null入栈
    endif
//函数结束把栈里元素返回给调用方 (而如果之前经过等待 栈先被清空了 返回就弹错)
endfunction[/jass]

这样?
回复

使用道具 举报

发表于 2009-11-23 12:46:38 | 显示全部楼层
自己看看计算机组成原理就知道了
回复

使用道具 举报

发表于 2009-11-23 12:54:00 | 显示全部楼层
引用第28楼linzefei于2009-11-23 12:41发表的  :
[jass]
function Int takes integer i returns integer
    return i
//把i入栈
//函数结束把栈里元素返回给调用方
.......
从takes的参数里获得return也可以……
应该是只要线程开始执行这个函数后的部分都可以
大约是栈吧……
回复

使用道具 举报

发表于 2009-11-23 18:06:15 | 显示全部楼层
呵~ 大概明白了~~~
回复

使用道具 举报

 楼主| 发表于 2009-11-23 19:29:34 | 显示全部楼层
简单地说

ABC(XYZ(xxx))

这样的语句执行的时候,ABC如果没有返回值,其函数体内部也没有调用其余有返回值的函数,那么ACB的返回值则会被抓到。之前孔明的疑问也是这个导致的。


但是这样的写法的话

先set x=XYZ(xxx)
再执行ABC(x),ABC就不能抓XYZ的返回值作为自己的返回值,如此。
回复

使用道具 举报

发表于 2009-11-24 09:53:20 | 显示全部楼层
发像楼上有个非常靓的MM头像!
回复

使用道具 举报

发表于 2009-11-26 22:32:08 | 显示全部楼层
我们应该向暴雪申请补助的~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-21 23:26 , Processed in 0.115962 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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