ruby-on-rails - Ruby 中 nil 的高效开关盒?

标签 ruby-on-rails ruby ruby-on-rails-3

我有三个变量,它们都可以是 nil:

to
cc
bcc

如何将 X 分配给 to/cc/bcc 中的任何一个,因为它们中的任何一个都可以为 nil(但不是所有三个)?做起来好像很难看

if to.nil? and cc.nil?
   X = bcc
elsif ...

你做不到

 X = to or cc or bcc 

要么。

最佳答案

你可以这样做:

X = (to or cc or bcc)

或者这个:

X = to || cc || bcc

|| 的优先级高于 = — 更低,所以第一个例子没有括号就不起作用,X 只是无条件的分配给第一个变量。

关于ruby-on-rails - Ruby 中 nil 的高效开关盒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6894373/

相关文章:

ruby-on-rails - 在服务测试中剔除 ActiveRecord 模型

ruby-on-rails - 如何在文本字段中显示格式为 "dd/mm/YYYY"的日期?

ruby-on-rails - ActionMailer View : "Need controller and action" 中 url_for 和命名路由的问题

ruby-on-rails - rails ActiveRecord : Find All Users Except Current User

ruby-on-rails - 解析 youtube 网址

ruby-on-rails - 如何从模型引用 Assets 管道中的图像?

ruby-on-rails - Mongoid + ActiveModel 验证 + I18n,没有正确翻译属性

ruby-on-rails - 网格与Rails?

ruby-on-rails - 如何为具有 HABTM 关系的模型提供与其他种子模型的关系

ruby-on-rails - 为什么没有显示 `flash[:warning]` 消息?