2017-05-25 71 views
0
if firstcheck? || secondcheck? 
     nil 
    else 
     true 
    end 

我該如何將這段代碼減少到一行? 如果條件是正確的,我需要返回nil,否則真如何減少這個If block到一個語句?

請幫

+0

使用三元運算符,你可以把它們連是否有更多的條件來檢查。 – 2017-05-25 21:47:43

+0

詢問時,我們希望看到您的努力的證據。沒有它,看起來你沒有嘗試並希望我們爲你寫信。 –

+0

我已經寫了一堆代碼。但是這只是一個小例子,所以我想爲什麼要通過添加不必要的數據來製造混淆。如果我做了任何錯誤的話,很容易 –

回答

3

這條線就相當於你寫的代碼片段:

true unless firstcheck? || secondcheck? 

我有真的,如果你想知道有要求返回nil而不是false。如果你是返回false代替nil OK,你可以寫爲:

!firstcheck? && !secondcheck? 
+0

感謝您的回答。我需要返回零而不是假。第一個語句如何返回零? –

+0

我會用'!(firstcheck?|| secondcheck?)'而不是'!firstcheck? &&!secondcheck?' –

+0

norman bates:這就是Ruby的工作原理。 '...除非真正'總是評估爲'無',因爲它必須具有一定的價值。同樣,'... if false'總是評估爲'nil'。 –