ruby-on-rails - 在 Ruby 中编写三元的最短方法返回 nil 的其他值?

标签 ruby-on-rails ruby

我经常想写一些东西,如果 true 返回“Yes”,如果 false 返回“No”,或者如果 。目前我这样做:

@contact.boolean ? 'Yes' : (@contact.boolean.nil? ? "NA" : "No")

这是最短的写法吗?

最佳答案

这是一个想法:

> {true => "Yes", false => "No", nil => "N/A"}[true]
 => "Yes" 

所以,当然,你会做 {true => "Yes", false => "No", nil => "N/A"}[value]

关于ruby-on-rails - 在 Ruby 中编写三元的最短方法返回 nil 的其他值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12718533/

相关文章:

ruby - 检查子数组中的所有项目是否相同 Ruby

ruby-on-rails - 在 Rails 中使模型不可删除

ruby-on-rails - Vim - 命令 - T

ruby-on-rails - Ruby on Rails 虚拟主机控制面板/服务器管理

ruby-on-rails - 将基于 cloud9 的 rails 应用程序部署到本地 linux 服务器

ruby-on-rails - 从数据库中删除一条记录

ruby-on-rails - View 中 .html.erb 中的 else 语句

css - 样式表取决于主机名

ruby-on-rails - 加快从 Rails 应用程序下载 19,000 条记录

ruby-on-rails - rails 上的 ruby : Multiple controllers in one view