设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2236|回复: 9
打印 上一主题 下一主题

[已经解决] 这个"|"运算符是什么意思

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4721
在线时间
387 小时
注册时间
2012-11-8
帖子
276
跳转到指定楼层
1
发表于 2013-7-15 16:45:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
在Game_Battler里出现effective |= hit < 100是什么意思?那个effective有效标记又是干嘛用的。。

Lv1.梦旅人

梦石
0
星屑
49
在线时间
369 小时
注册时间
2013-4-14
帖子
1177
2
发表于 2013-7-15 16:52:22 | 只看该作者
去F1一下吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
369 小时
注册时间
2013-4-14
帖子
1177
3
发表于 2013-7-15 16:53:14 | 只看该作者
|=是代表“不等于”的意思

点评

不等于不是!=么。。。  发表于 2013-7-15 16:56
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
369 小时
注册时间
2013-4-14
帖子
1177
4
发表于 2013-7-15 17:02:12 | 只看该作者
爱夏的鱼 发表于 2013-7-15 16:53
|=是代表“不等于”的意思

抱歉。。。记错了

点评

好吧,没事,谢了,F1里只有“||”,没有|  发表于 2013-7-15 17:05
从未被模仿,一直被超越~~~~~~
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

5
发表于 2013-7-15 17:08:24 | 只看该作者
|是或运算

点评

那么这个effective |= hit < 100是什么意思  发表于 2013-7-15 17:19
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3588
在线时间
3065 小时
注册时间
2011-11-17
帖子
980
6
发表于 2013-7-15 21:41:14 | 只看该作者
假设effective =50
hit =100
打开你的计算机 50的2进制是0110010 ,100的2进制是1100100
50或上100的计算是
0110010
1100100
1110110  (结果是118)
或运算就是 只要有1的话 得到1

点评

这是位运算符 还有逻辑与 按位取反 异或 左右 右移  发表于 2013-7-16 00:13
我的理解是 : |= 其实就是if的意思,返回的effective只是true或false 比如: 50 if 100 > 50 返回是50.而 a |= 100>50 返回 的却是 true 区别就在返回的值   发表于 2013-7-15 23:45
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

7
发表于 2013-7-16 17:33:18 | 只看该作者
本帖最后由 亿万星辰 于 2013-7-16 17:46 编辑

effective当前的结果或上 hit < 100 的结果
换个说法就是如果hit 小于100,那么就让effective为真,如果hit大于等于100,则维持effective原有的状态

|
支持数字的或,这个我猛然间也不知道该叫什么,大概是换成二进制以后的按位或运算。
支持逻辑值的或。
还支持数组的合并,比如[1,2,3] | [2,3,4,5]#  => [1,2,3,4,5]。

其他还有什么呢?欢迎补充~
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
8
发表于 2013-7-16 17:46:48 | 只看该作者
亿万星辰 发表于 2013-7-16 17:33
effective当前的结果或上 hit < 100 的结果
换个说法就是如果hit 小于100,那么就让effective为真,如果hit ...

@亿万星辰


effective=false
effective |= self.state?(i)
是不是self.state?(i)为真时effective也为真?

点评

effective = effective | self.state?(i)  发表于 2013-7-16 22:44
那如果effective本来是真,而self.state?(i)是假呢?  发表于 2013-7-16 22:24
按位运算的话 是这样的 但是这样的意义何在?为何不直接赋值 effective = self.state?(i) 这样的话绝对值和self.state?(i)的返回值同步了  发表于 2013-7-16 18:04
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3588
在线时间
3065 小时
注册时间
2011-11-17
帖子
980
9
发表于 2013-7-16 18:01:17 | 只看该作者
亿万星辰 发表于 2013-7-16 17:33
effective当前的结果或上 hit < 100 的结果
换个说法就是如果hit 小于100,那么就让effective为真,如果hit ...

effective |= hit < 100  是(effective |= hit )< 100 还是 effective |= (hit < 100) 优先级完全记不清- - 如果后面那个的话effective就类似个布尔型吧  之前要把effective =false下吧 否则一开始effective的值是true的话 无论hit是否小于100 effective永远等于true  这东西居然还能合并数组 看来蛮有用的 长见识了

点评

另外优先级显然是先做赋值号右边的,|= &= 这和+= -= *= /= %= 都是一类运算符~  发表于 2013-7-16 22:41
你可以去看skill_effect这个方法,effective这个主要是用于对己方全体目标释放技能的时候用的,在菜单里的时候。  发表于 2013-7-16 22:40
(effective |= hit )< 100出错,应该是后者、试着10|20了下,结果返回了30、、、、真的太强大了  发表于 2013-7-16 18:20
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3588
在线时间
3065 小时
注册时间
2011-11-17
帖子
980
10
发表于 2013-7-16 18:34:29 | 只看该作者
yagami 发表于 2013-7-16 18:01
effective |= hit < 100  是(effective |= hit )< 100 还是 effective |= (hit < 100) 优先级完全记 ...

10 =      01010
20 =      10100
10|20 = 11110   转回10进制就是30
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-29 13:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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