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

Project1

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

[已经解决] 非!运算符的使用出问题了,希望有人能指教一下

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1957
在线时间
410 小时
注册时间
2018-9-25
帖子
38
跳转到指定楼层
1
发表于 2020-5-12 23:24:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. [email protected]_handler == :normal
复制代码
有问题的代码就是这一段,不知道为什么当@battler.posture_handler == :normal输出true的时候,[email protected]_handler == :normal可以正常输出false但是反过来@battler.posture_handler == :normal输出false的时候,[email protected]_handler == :normal还是输出false
请问这是什么情况?是字符串的问题吗?还是!有什么使用条件?希望能指教一下

Lv4.逐梦者

梦石
0
星屑
19423
在线时间
3102 小时
注册时间
2013-1-11
帖子
1291
2
发表于 2020-5-12 23:34:34 | 只看该作者
本帖最后由 张咚咚 于 2020-5-12 23:54 编辑

使用@battler.posture_handler != :normal判断。
[email protected]_handler == :normal
相当于
true/false == symbol对象,肯定是false的

或着也可以
!(@battler.posture_handler == :normal)
达到想要的结果

优先级验证
  1. class A
  2. def !@; puts 1; self; end
  3. def ==(x); puts 2; true; end
  4. end
  5. a = A.new
  6. puts !a == a
复制代码

点评

啊,是我弄错了,谢谢  发表于 2020-5-12 23:48
!优先级大于 ==,先解释!在解释==的  发表于 2020-5-12 23:43
==的优先级不是高于!吗?为什么不是先判断==呢  发表于 2020-5-12 23:41

评分

参与人数 1星屑 +100 收起 理由
VIPArcher + 100 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 08:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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