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

Wie kann ich diesen Code auf eine einzige Zeile reduzieren? Wenn die Bedingung richtig ist muss ich null zurückkehren, sonst wahrWie reduziere ich das Wenn Block zu einer Aussage?

Bitte helfen

+0

Verwenden ternärer Operator, können Sie diese Kette, wenn es mehr Bedingungen zu überprüfen. –

+0

Wenn wir darum bitten, erwarten wir Beweise für Ihre Bemühungen. Ohne das sieht es so aus, als hättest du nicht versucht, dass wir es für dich schreiben. –

+0

Ich habe bereits eine Menge Code geschrieben. Aber das ist nur ein kleiner Fall, also dachte ich, warum Verwirrung durch das Hinzufügen unnötiger Daten zu schaffen. Sorry, wenn ich etwas falsch gemacht habe –

Antwort

3

Diese Linie entspricht dem Code-Snippet Sie schrieb:

true unless firstcheck? || secondcheck? 

ich, wenn Sie sich fragen, haben wirklich eine Anforderung haben, nil anstelle von false zurückzugeben. Wenn Sie mit der Rückkehr false statt nil in Ordnung sind, können Sie es schreiben, wie:

!firstcheck? && !secondcheck? 
+0

Danke für die Antwort. Ich muss nil anstelle von false zurückgeben. Wie lautet die erste Aussage null? –

+0

Ich würde '! (Erste Überprüfung? || zweite Überprüfung?)' Anstelle von '! Firstcheck verwenden? &&! secondcheck? ' –

+0

norman bates: So funktioniert Ruby. '... es sei denn, wahr 'ergibt immer' nil ', da es einen Wert haben muss. In ähnlicher Weise wird "... wenn falsch" immer zu "Null" ausgewertet. –

Verwandte Themen