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

Project1

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

[已经解决] 为什么RGSS2方法的参数不可以包含and和or?

[复制链接]

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21005
在线时间
9337 小时
注册时间
2012-6-19
帖子
7107

开拓者短篇九导演组冠军

1
发表于 2016-1-28 20:22:31 | 显示全部楼层
运算符优先级问题,加括号,或者用 && 和 ||
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21005
在线时间
9337 小时
注册时间
2012-6-19
帖子
7107

开拓者短篇九导演组冠军

2
发表于 2016-1-28 20:31:07 | 显示全部楼层
有丘直方 发表于 2016-1-28 20:27
已经加了括号。——话说&&和||意思与and和or有什么不同
  1. 一个垃圾参数(((1 + 1 == 2) and (2 + 2 == 4)))
复制代码
and/or 不同于 &&/||
  1. surprise = true and false # => surprise is true
  2. surprise = true && false  # => surprise is false
复制代码
最佳实践
只使用 && / || 运算符。
详情
and / or 运算符的优先级比 && / || 低
and / or 的优先级比 = 低,而 && / || 的优先级比 = 高
and 和 or 的优先级相同,而 && 的优先级比 || 高
我们来给上述示例代码加上括号,这样就可以明显地看出 and 和 && 在用法上的不同之处了。
  1. (surprise = true) and false # => surprise is true
  2. surprise = (true && false)  # => surprise is false
复制代码
也有这样的说法:and / or 用于流程控制,而 && / || 用于布尔型运算。但我认为:不要使用这些运算符的关键字版本(and / or / not),而使用更为清晰的 if 和 unless 等。更加明确,更少困惑,更少 bugs。
延伸阅读:Difference between “or” and || in Ruby?(http://stackoverflow.com/questio ... ween-or-and-in-ruby)

点评

谢谢(就表示感谢就不开新的楼层了)  发表于 2016-1-28 20:33

评分

参与人数 1梦石 +1 收起 理由
丿梁丶小柒 + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-8 16:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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