2017-05-25 88 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'。 –