我有三個變量所有這些都可以是零:Ruby中無效的開關情況?
to
cc
bcc
我如何分配X
到的任何一個/ CC/BCC因爲他們中的任何一個都可以是零(但不是全部三個) ?這似乎醜做
if to.nil? and cc.nil?
X = bcc
elsif ...
你不能這樣做
X = to or cc or bcc
無論是。
我有三個變量所有這些都可以是零:Ruby中無效的開關情況?
to
cc
bcc
我如何分配X
到的任何一個/ CC/BCC因爲他們中的任何一個都可以是零(但不是全部三個) ?這似乎醜做
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
||
的優先級高於=
,or
- 低,所以第一個例子中不帶括號的工作,X就是無條件地分配給第一個變量。
我做
x = [to, cc, bcc].find{|address| ! address.nil?}
你可以做'x = [to,cc,bcc] .find {| address |地址}'。 :) –
你意識到'X'是一個常數,而不是一個變量? 'x'將是一個變量。 –