查看: 2111|回复: 6

[已经解决] 关于|=

[复制链接]
梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
回帖
155
发表于 2013-8-31 19:45:19 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 九靈 于 2013-8-31 19:46 编辑

赋值运算符
= 、 += 、 -= 、 *= 、 /= 、 %= 、 &= 、 |= 、 ^=


Game_Battler 3
[pre lang="ruby" line="260"]      # HP 以及 SP 的回复
      last_hp = self.hp
      last_sp = self.sp
      self.hp += recover_hp
      self.sp += recover_sp
      effective |= self.hp != last_hp
      effective |= self.sp != last_sp
      # 状态变化
      @state_changed = false
      effective |= states_plus(item.plus_state_set)
      effective |= states_minus(item.minus_state_set)
[/pre]


问题 :
1. 参考以上代码,赋值运算符 |= 怎么用? 应该说怎么赋值的?
2. &=、 ^= ,同上

点评

actionscript 是用来做flash的?  发表于 2013-8-31 23:38

Fuzzy Ginkgo

梦石
0
星屑
61105
在线时间
1933 小时
注册时间
2010-6-26
回帖
1535

烫烫烫开拓者

发表于 2013-8-31 20:34:43 | 显示全部楼层
a |= b 等同于 a = a | b
a &= b 等同于 a = a & b
a ^= b 等同于 a = a ^ b

| 叫做 按位或运算符
& 叫做 按位与运算符
^  叫做 按位异或运算符

0b11110000 & 0b11001100 = 0b11000000
0b11110000 | 0b11001100 = 0b11111100
0b11110000 ^ 0b11001100 = 0b00111100
0b 依然是代表二进制数字的前缀。

点评

怒顶囧叔~233333  发表于 2013-8-31 20:55
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复

使用道具 举报

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
回帖
155
 楼主| 发表于 2013-8-31 21:51:07 | 显示全部楼层
orzfly 发表于 2013-8-31 20:34
a |= b 等同于 a = a | b
a &= b 等同于 a = a & b
a ^= b 等同于 a = a ^ b

是二进制啊...
但是上面那句:
【effective |= self.hp != last_hp】
这个是 boolean |= boolean 啊...
true、false 是二进制吗?
true、false 的按位或?
回复

使用道具 举报

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
回帖
155
 楼主| 发表于 2013-8-31 21:51:32 | 显示全部楼层
本帖最后由 九靈 于 2013-8-31 22:05 编辑

Boolean也有二进制型?
还是跟or || 相同?(a = a | b)
回复

使用道具 举报

梦石
0
星屑
2826
在线时间
2634 小时
注册时间
2013-1-16
回帖
5453

贵宾

发表于 2013-8-31 22:23:55 来自手机 | 显示全部楼层
本帖最后由 myownroc 于 2013-8-31 22:28 编辑
九靈 发表于 2013-8-31 21:51
Boolean也有二进制型?
还是跟or || 相同?(a = a | b)


2楼是拿二进制做例子,boolean也适用于或且非的吧。
话说你还学过vb?还是其他的语言?

点评

嗯...之前用flash跟vb写游戏  发表于 2013-8-31 23:40
vb跟actionscript3.0  发表于 2013-8-31 23:24
回复

使用道具 举报

Fuzzy Ginkgo

梦石
0
星屑
61105
在线时间
1933 小时
注册时间
2010-6-26
回帖
1535

烫烫烫开拓者

发表于 2013-8-31 22:43:31 | 显示全部楼层
九靈 发表于 2013-8-31 21:51
Boolean也有二进制型?
还是跟or || 相同?(a = a | b)

& | ^ 同样可以操作 true/false,同 && || ^^。
&& || ^^ 这个叫做逻辑与、或、异或运算符。

但是,不要学习 Enterbrain 的傻○写法。

----

另外,Ruby 没有任何叫做 Boolean 的东西。
true 是 TrueClass 的唯一实例,
false 是 FalseClass 的唯一实例。

点评

这样啊...谢谢  发表于 2013-8-31 23:26

评分

参与人数 1星屑 +140 收起 理由
弗雷德 + 140 认可答案

查看全部评分

我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复

使用道具 举报

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
回帖
155
 楼主| 发表于 2013-8-31 23:43:24 | 显示全部楼层
@弗雷德 麻烦结帖

点评

谢谢熊叔!  发表于 2013-9-1 00:55
祝你早日成为大触!  发表于 2013-9-1 00:11

评分

参与人数 1星屑 +49 收起 理由
弗雷德 + 49 塞糖

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部