找回密码
 点一下
查看: 2375|回复: 21

教程中exitwhen后面跟一个true 是什么意思?

[复制链接]
发表于 2008-7-30 16:17:06 | 显示全部楼层 |阅读模式
教程中有:
[codes=jass]set I=0
loop
      if I==12 then
            exitwhen true
      endif
      call DisplayTextToPlayer(Player(I),0,0,"要让每个玩家都看见这句话")
      set I=I+1
endloop[/codes]
exitwhen后面跟一个true 是什么意思?
发表于 2008-7-30 16:30:43 | 显示全部楼层
按字面理解,如果不知道 true 是什么意思,试试 google 翻译
回复

使用道具 举报

 楼主| 发表于 2008-7-30 16:41:33 | 显示全部楼层
我的意思是说exitwhen后面好象应该跟一个表达式,他好象只跟了一个
true,这样用可以吗
回复

使用道具 举报

发表于 2008-7-30 16:44:03 | 显示全部楼层
exitwhen后面只要是布尔值得表达式就可以了
true也是1个表达式

就像if true then是符合语法规范的一样
回复

使用道具 举报

 楼主| 发表于 2008-7-30 16:44:26 | 显示全部楼层
在if--endif中是不是可以用true来表示前面if后面的表达式的判断?
回复

使用道具 举报

发表于 2008-7-30 16:45:09 | 显示全部楼层
3楼已经给出了,恩
回复

使用道具 举报

 楼主| 发表于 2008-7-30 16:50:29 | 显示全部楼层
是不是不需要exitwhen后面做条件判断时,因为exitwhen后面要跟表达式,所以就用true 来糊弄电脑,达到exitwhen的目的
回复

使用道具 举报

发表于 2008-7-30 16:52:32 | 显示全部楼层
那不叫糊弄好不好 true也是一个表达式

==============


exitwhen后面需要的不是条件判断,而是一个返回值为boolean类型的表达式
回复

使用道具 举报

发表于 2008-7-30 16:53:15 | 显示全部楼层
完全不是这样………………(此处指的是lz)

exitwhen后便跟的只要是布尔类型的表达式就可以了
变量、常量、函数等等都属于表达式范畴
回复

使用道具 举报

 楼主| 发表于 2008-7-30 17:01:10 | 显示全部楼层
哦,明白了。变量、常量、函数等等都属于表达式范畴

能不能不给我讲一下,这里的这个true具体什么作用。
前面不是if中已经判断了吗?只有if后面的成立了,才会作then后面的a
这一点还有些不理解
回复

使用道具 举报

发表于 2008-7-30 17:03:59 | 显示全部楼层
[codes=jass]if bool then
    //code1
else
    //code2
endif[/codes]
这段代码指的是返回值为布尔类型的表达式bool为真时,执行下面的code1,否则执行code2

当bool本身就是true的时候,当然就是执行code1
回复

使用道具 举报

发表于 2008-7-30 17:09:11 | 显示全部楼层
只是这行代码写得不好而以

改成这样就好理解了吧

[codes=jass]
set I=0
loop
         exitwhen I==12
         call DisplayTextToPlayer(Player(I),0,0,"要让每个玩家都看见这句话")
         set I=I+1
endloop
[/codes]
回复

使用道具 举报

发表于 2008-7-30 17:13:04 | 显示全部楼层
唉唉,居然灭注意到顶楼有代码

就是ls所说的那样,恩
[codes=jass]if I==12 then
    exitwhen true
endif[/codes]
这段代码的的执行顺序是判断I与12的大小,如果相同,就执行exitwhen true
exitwhen bool的意思是布尔类表达式bool的值为真时跳出循环,那么exitwhen true就是直接跳出循环
所以这段代码等价于
[codes=jass]exitwhen I==12[/codes]
回复

使用道具 举报

 楼主| 发表于 2008-7-30 17:20:07 | 显示全部楼层
噢,知道了[codes=jass]I==12[/codes]像这样表达式本身就是true

你可能没看懂我要问的东西(不过没事,这让我学到了新东西)




我要问的是exitwhen后面跟的那个true具体什么作用。是判断吗?还是指代前面if后面的表达式?还是别的什么?

不好意思,再让你回答一下。谢谢了
回复

使用道具 举报

发表于 2008-7-30 17:23:41 | 显示全部楼层
只是一个判断而已,貌似已经说过了
    exitwhen bool的意思是布尔类表达式bool的值为真时跳出循环,那么exitwhen true就是直接跳出循环
回复

使用道具 举报

 楼主| 发表于 2008-7-30 17:35:58 | 显示全部楼层
噢,明白了 (受益匪浅啊)


我会继续努力,相信在不久的将来,我会领悟到JASS的精华的。
再问一下:貌似帖子有金钱奖励,怎么弄啊
回复

使用道具 举报

发表于 2008-7-30 17:38:31 | 显示全部楼层
那个奖励是路人评分的,嗯

问题解决的话,把分类改掉吧~~
回复

使用道具 举报

发表于 2008-7-30 17:43:18 | 显示全部楼层
你说,想给谁加钱,我来加~~
回复

使用道具 举报

 楼主| 发表于 2008-7-30 17:43:23 | 显示全部楼层
那就别客气了,给 zhuzeitou和actboy168加上10000个GA币吧。
呵呵
回复

使用道具 举报

 楼主| 发表于 2008-7-30 17:44:23 | 显示全部楼层
开个玩笑,给zhuzeitou 加
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 00:29 , Processed in 0.037266 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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