我有三个变量,所有变量都可以是nil:
to
cc
bcc
我如何将X
分配给任何一个to / cc / bcc,因为其中任何一个都可以是nil(但不是全部三个)?做起来似乎很难看
if to.nil? and cc.nil?
X = bcc
elsif ...
你做不到
X = to or cc or bcc
或者
答案 0 :(得分:12)
X = (to or cc or bcc)
或者这个:
X = to || cc || bcc
||
的优先级高于=
,or
- 更低,因此第一个示例在没有括号的情况下不起作用,X只是无条件地分配给第一个变量。
答案 1 :(得分:0)
我会做
x = [to, cc, bcc].find{|address| ! address.nil?}