Project1

标题: 非!运算符的使用出问题了,希望有人能指教一下 [打印本页]

作者: adahs    时间: 2020-5-12 23:24
标题: 非!运算符的使用出问题了,希望有人能指教一下
  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
请问这是什么情况?是字符串的问题吗?还是!有什么使用条件?希望能指教一下

作者: 张咚咚    时间: 2020-5-12 23: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
复制代码





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