Project1

标题: 这个"|"运算符是什么意思 [打印本页]

作者: qq634488405    时间: 2013-7-15 16:45
标题: 这个"|"运算符是什么意思
在Game_Battler里出现effective |= hit < 100是什么意思?那个effective有效标记又是干嘛用的。。
作者: 爱夏的鱼    时间: 2013-7-15 16:52
去F1一下吧
作者: 爱夏的鱼    时间: 2013-7-15 16:53
|=是代表“不等于”的意思
作者: 爱夏的鱼    时间: 2013-7-15 17:02
爱夏的鱼 发表于 2013-7-15 16:53
|=是代表“不等于”的意思

抱歉。。。记错了
作者: 亿万星辰    时间: 2013-7-15 17:08
|是或运算
作者: yagami    时间: 2013-7-15 21:41
假设effective =50
hit =100
打开你的计算机 50的2进制是0110010 ,100的2进制是1100100
50或上100的计算是
0110010
1100100
1110110  (结果是118)
或运算就是 只要有1的话 得到1
作者: 亿万星辰    时间: 2013-7-16 17:33
本帖最后由 亿万星辰 于 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]。

其他还有什么呢?欢迎补充~
作者: wwwcctvty    时间: 2013-7-16 17:46
亿万星辰 发表于 2013-7-16 17:33
effective当前的结果或上 hit < 100 的结果
换个说法就是如果hit 小于100,那么就让effective为真,如果hit ...

@亿万星辰


effective=false
effective |= self.state?(i)
是不是self.state?(i)为真时effective也为真?
作者: yagami    时间: 2013-7-16 18:01
亿万星辰 发表于 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  这东西居然还能合并数组 看来蛮有用的 长见识了
作者: yagami    时间: 2013-7-16 18:34
yagami 发表于 2013-7-16 18:01
effective |= hit < 100  是(effective |= hit )< 100 还是 effective |= (hit < 100) 优先级完全记 ...

10 =      01010
20 =      10100
10|20 = 11110   转回10进制就是30




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1