Rails für .present? und .eine?

8

Gibt es ein Rails / Ruby-Idiom, um zu überprüfen, ob ein Enumerable vorhanden ist und nicht nil -Werte hat?

Ich bekomme Fehler, wenn ich probiere nil.any? , also muss ich immer if foo && foo.any? machen.

    
chug2k 20.03.2012, 18:43
quelle

3 Antworten

9

Sie können die von ActiveSupport bereitgestellte Methode try verwenden:

%Vor%

Dies wird auf nil wenn obj.nil? oder auf false ausgewertet, wenn obj eine leere Sammlung ist, also wird in beiden Fällen ein falscher Wert in einem booleschen Kontext ausgewertet.

    
Niklas B. 20.03.2012, 18:44
quelle
1

Ich glaube, Sie können jetzt den sicheren Navigationsoperator verwenden:

%Vor%     
abdul ahmad 06.02.2017 14:51
quelle
0

Sie könnten auch andand und gem:

verwenden %Vor%     
Dave Newton 20.03.2012 19:29
quelle

Tags und Links