Ich brauche die folgende Logik. Wenn das Array value
enthält, gebe es andernfalls einen Standardwert zurück. Bisher habe ich festgestellt dies kann durch delete
Verwendung erreicht werden:Array holen oder Standardfunktion
array.delete(value) || default_value
Aber offensichtlich es ändert das Array. Gibt es eine ähnliche Funktion wie fetch
mit Standard, die ein Element anstelle eines Indexes nimmt?
PS. Ich weiß, dass dies als array.include?(value) ? value : default_value
umgeschrieben werden kann, ist die Frage nur für saubereren Code.
Ich fürchte, Sie nicht einfachen Code für diesen (letztere) finden werden, was bedeutet, Sie müssen Implementieren Sie Ihr eigenes 'fetch', das diese Komplexität verbirgt :-) Alternative (wenn der Standardwert '6' ist):' ary.find (lambda {6}) {| x | x == 6} ' – karatedog