ruby - i = true and false 在Ruby 中是真的吗?

标签 ruby

我是不是从根本上误解了 Ruby?我已经编写 Ruby 代码大约 2 年了,就在今天偶然发现了这个......

ruby-1.8.7-p249 > i = true and false
 => false 
ruby-1.8.7-p249 > i
 => true 

有人可以解释一下这里发生了什么吗?我确定它符合规范,但对我来说这似乎违反直觉......

最佳答案

操作符&&and有不同的优先级,=恰好介于两者之间。

irb(main):006:0> i = true and false
=> false
irb(main):007:0> i
=> true
irb(main):008:0> i = true && false
=> false
irb(main):009:0> i
=> false
irb(main):010:0> 

第一个读作 (i = true) and false,第二个读作 i = (true && false)

关于ruby - i = true and false 在Ruby 中是真的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2802494/

相关文章:

ruby-on-rails - 503 : Instagram is rate limiting your requests

ruby-on-rails - 有没有办法使用 HashWithIndifferentAccess 序列化 ActiveRecord 的 JSON 属性?

mysql - ruby on Rails 中的随机 id

ruby-on-rails - Linux 远程服务器 cap 生产部署

ruby-on-rails - 如何在 Rails 之外使用 ActiveRecord?

ruby-on-rails - ruby on rails 命名作用域实现

sql - 在防止 SQL 注入(inject)时,PG::Connection#exec_params 是否与使用准备好的语句相同?

ruby-on-rails - 无法在 Debian 上启动 Rails Server "sqlite3/sqlite3_native (LoadError)"

mysql - 使用地理编码器的 ActiveRecord 查询特定半径内的帖子?

ruby - 按降序对可枚举进行排序