找回密码
 点一下
查看: 2959|回复: 9

H2I的诡异事件

[复制链接]
发表于 2008-6-18 23:17:01 | 显示全部楼层 |阅读模式
晚上测试发现H2I函数
[jass]
function H2I takes handle h returns integer
return h
return 174
endfunction[/jass]

应用时有些情况会出现诡异的弹出错误
以下是正常不会出错的应用
  [jass]  local integer t1=H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))
    local integer t2=H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))+t1
    local integer t3=t1+t2
    local integer t=H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))+174
[/jass]
以下是会出现弹出错误的应用
[jass]
    local integer t=H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))+H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))
    local integer t=174+H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))
    local integer t=H2I(InitGameCache("lzf"))+H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))
    local integer t=H2I(InitGameCache("lzf"))+H2I(InitGameCache("lzf174"))[/jass]

所以我的结论:..H2I函数在运算时不能排在运算符号后面
必须先运算H2I
再计算其他
如上面的
[jass]    local integer t=H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))+174[/jass] 就是正常
[jass]    local integer t=174+H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))[/jass]
就会出问题

ps:好诡异

评分

参与人数 1威望 +30 收起 理由
狡猾的兔子 + 30 很不错,辛苦了。

查看全部评分

发表于 2008-6-19 00:03:57 | 显示全部楼层
恩恩 刚刚试了下
确实挺诡异的


呵呵 我是 今天第一个发帖的
回复

使用道具 举报

发表于 2008-6-19 00:08:27 | 显示全部楼层
恩恩,很高级的发现呢………………

不过,一般不会这么去赋值的吧………………
回复

使用道具 举报

发表于 2008-6-19 01:58:05 | 显示全部楼层
相当强大的发现..
回复

使用道具 举报

 楼主| 发表于 2008-6-19 19:51:58 | 显示全部楼层
这就素昨晚 无聊测试的
回复

使用道具 举报

发表于 2008-6-29 20:19:23 | 显示全部楼层
return 174 干嘛啊...无意义的存在啊..你试过常用的H2I吗??
回复

使用道具 举报

发表于 2008-6-29 21:35:05 | 显示全部楼层
最后一个return什么都没关系的,因为不会被执行到就跳过了
回复

使用道具 举报

 楼主| 发表于 2008-7-1 03:12:50 | 显示全部楼层
引用第5楼spark于2008-06-29 20:19发表的  :
return 174 干嘛啊...无意义的存在啊..你试过常用的H2I吗??

一般写法都是写return 0
这步是永远不会被运行到的.
所以随便写数值都不要紧.
主语为什么要174..请看我的名字....

什么叫试过常用的H2I吗[s:186]
回复

使用道具 举报

发表于 2008-7-1 09:44:05 | 显示全部楼层
LZ整天就研究这种无聊的东西
回复

使用道具 举报

发表于 2008-7-1 20:02:48 | 显示全部楼层
其实楼主粉可爱~~~~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 01:23 , Processed in 0.040024 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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