有沒有辦法用一個值來檢查兩個條件?如果兩個值的條件爲OR
下面是這個例子。當管理員從網站註冊時,管理員應該在數據庫中自動設置爲true。
admin_1 = [email protected]
admin_2 = [email protected]
if email_from_input_field == (admin_1 || admin_2)
user.admin == true
admin_1將被設置爲true,而不是admin_2。
有沒有辦法用一個值來檢查兩個條件?如果兩個值的條件爲OR
下面是這個例子。當管理員從網站註冊時,管理員應該在數據庫中自動設置爲true。
admin_1 = [email protected]
admin_2 = [email protected]
if email_from_input_field == (admin_1 || admin_2)
user.admin == true
admin_1將被設置爲true,而不是admin_2。
你寫它的方式,它的計算結果
email == true or false
因爲admin_1 || admin_2
會給出一個布爾值,檢查這些變量中是否存在與否。
您可以使用此:
[ admin_1, admin_2].include? email
它是什麼檢查的email
值存在的admin_1, admin_2
2.1.0 :001 > a1 = 'arindam' => "arindam" 2.1.0 :002 > a2 = 'ari' => "ari" 2.1.0 :003 > email = 'ari' => "ari" 2.1.0 :004 > [a1,a2].include? email => true
不..根據OP的帖子,這不是正確的答案。 – 2014-09-26 07:34:59
'email == true or false' - 如果電子郵件'nil'這個返回'false'並且如果電子郵件'true'返回'false'。 – 2014-09-26 07:35:01
這可以幫助我,看起來像這是正確的紅寶石方式來管理一個條件與多個值,但一個參數。謝謝 – AdvanceInBeginning 2014-09-26 07:53:31
陣列中的第一個解釋這是什麼意思:
if email == (admin_1 || admin_2)
user.admin == true
先評估(admin_1 ||這意味着,如果admin_1
的值是false
或nil
那麼只考慮admin_2
。所以,如果你獲得的回報比假的或零,實際上是檢查這樣的條件以外admin_1
任何東西的價值:
if email == admin_1
只是忽略admin_2。
,如果你想既更好地做好檢查條件:
if ((email == admin_1) || (email == admin_2))
沒有多少我不清楚。 – 2014-09-26 07:34:14
我編輯了這個問題。我知道,我可以使用類似「email == admin_1 ||」的內容電子郵件== admin_2'。但是,這對我來說看起來有點多餘:) – AdvanceInBeginning 2014-09-26 07:39:30