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

Project1

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

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1939
在线时间
403 小时
注册时间
2015-8-30
帖子
395
跳转到指定楼层
1
发表于 2016-1-28 19:32:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 有丘直方 于 2016-1-29 11:41 编辑

有的方法(函数)需要一些真伪值的参数,真伪值也可以用and或者or来连接但是为什么方法中的参数不可以带有这些?而且我已经考虑到了优先级的问题,特意加上了括号。
上面说的可能不够形象,来举个例子。
  1. def 一个垃圾函数(一个垃圾参数)
  2.   print "垃圾是对的!" if 一个垃圾参数 == true
  3.   print "垃圾是错的!" if 一个垃圾参数 == false
  4. end

  5. 一个垃圾函数((1 + 1 == 2) and (2 + 2 == 4))
  6. exit
复制代码
这个代码用来测试。照道理说应该会显示出“垃圾是对的!”但是会显示出错误。
为什么呢?难道方法的参数真的不能有and和or吗?

点评

是一个垃圾函数还是一个垃圾参数?  发表于 2016-1-29 09:30
小仙女一枚~

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21681
在线时间
9419 小时
注册时间
2012-6-19
帖子
7119

开拓者短篇九导演组冠军

2
发表于 2016-1-28 20:22:31 | 只看该作者
运算符优先级问题,加括号,或者用 && 和 ||
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1939
在线时间
403 小时
注册时间
2015-8-30
帖子
395
3
 楼主| 发表于 2016-1-28 20:27:00 | 只看该作者
喵呜喵5 发表于 2016-1-28 20:22
运算符优先级问题,加括号,或者用 && 和 ||

已经加了括号。——话说&&和||意思与and和or有什么不同
小仙女一枚~
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21681
在线时间
9419 小时
注册时间
2012-6-19
帖子
7119

开拓者短篇九导演组冠军

4
发表于 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-11-24 15:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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