ruby - 在 Ruby 中什么评估为 false?

标签 ruby

falsenilRuby 中计算为 false。还要别的吗?请提供官方/权威引用资料的链接。

2.0.0p247 :001 > if true ; puts 'TRUE' ; else puts 'FALSE' ; end
TRUE

2.0.0p247 :002 > if false ; puts 'TRUE' ; else puts 'FALSE' ; end
FALSE

2.0.0p247 :003 > if nil ; puts 'TRUE' ; else puts 'FALSE' ; end
FALSE

2.0.0p247 :004 > if 0 ; puts 'TRUE' ; else puts 'FALSE' ; end
TRUE

2.0.0p247 :005 > if [] ; puts 'TRUE' ; else puts 'FALSE' ; end
TRUE

2.0.0p247 :006 > if {} ; puts 'TRUE' ; else puts 'FALSE' ; end
TRUE

2.0.0p247 :007 > if '' ; puts 'TRUE' ; else puts 'FALSE' ; end
(irb):616: warning: string literal in condition
TRUE

最佳答案

falsenil 是唯一的:

http://www.ruby-doc.org/core-2.1.1/FalseClass.html

Rails 提供了present?,其中还包括空字符串和空数组:http://api.rubyonrails.org/classes/Object.html#method-i-present-3F

关于ruby - 在 Ruby 中什么评估为 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23068834/

相关文章:

ruby - 无法确定测试是否在 after hook 中失败

ruby - Watir 未按预期工作 - Selenium::WebDriver::Error::UnknownError

ruby - mongoid embeds_one 构建指南

ruby - Sidekiq:停止运行工作线程

ruby-on-rails - RVM 安装错误

Ruby 反向柯里化(Currying) : Is this possible?

ruby-on-rails - NoMethodError:为 #<URI::Generic:0x000055d4f2e16f00> 调用私有(private)方法 `open'

ruby-on-rails - 如何查看通过 Rails 应用程序发送的 HTTP 请求?

ruby-on-rails - rails : Implement Search/Filter like Amazon. com

ruby-on-rails - 使用 Rspec stub 链式方法