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

このコードブロックを1行に減らすにはどうすればよいですか? 条件が正しければ、私はこれを減らす方法1つのステートメントをブロックする場合は?

+0

使用三項演算子をチェックするためのより多くの条件がある場合、あなたはそれらをチェーンすることができます。 –

+0

質問すると、あなたの努力の証拠が見えます。それがなければ、あなたが試してみたことがないように見えます。 –

+0

私は既にたくさんのコードを書いています。しかし、これはほんの小規模なケースなので、不必要なデータを追加して混乱を生む理由を考えました。何か間違っていれば申し訳ありません。 –

答えて

3

この行は、あなたが書いたコードのスニペットと同等です助けてください真

他に、nilを返す必要があります:私はあなたの場合は本当に疑問に持って

true unless firstcheck? || secondcheck? 

falseの代わりにnilを返す必要があります。あなたの代わりにnilfalseを返すとOKであれば、あなたのようにそれを書くことができます:

!firstcheck? && !secondcheck? 
+0

答えをありがとう。私はfalseの代わりにnilを返す必要があります。最初のステートメントはどのようにnilを返しますか? –

+0

私は '!(firstcheck?|| secondcheck?)'の代わりに '!firstcheck? &&!secondcheck? ' –

+0

ノーマン・ベイツ:これはRubyの動作方法です。 '... unless true'は何らかの値を持たなければならないので常に' nil'と評価されます。同様に、 '... falseなら常に' 'nil'と評価されます。 –

関連する問題