Ich versuche, eine boolean Methode zu schreiben, wenn eine Summe von ganzen Zahlen in einem Array überprüft gleich 21. Hier ist der Code:Boolesche Methode ‚Blackjack‘ für Arrays
def twenty_one? (*arr)
arr.inject(0){|sum,x| sum + x }
arr.eql? (21)
end
Aber wenn ich überprüfe
puts twenty_one?(19, 2)
es gibt false
zurück, obwohl ich einige andere auch versuchte. Was fehlt mir in diesem Code?
es Ihnen danken! das funktioniert. – annabretsko
Die Verwendung von 'eql?' Ist wirklich ungewöhnlich. Normalerweise wird '==' erwartet. – tadman
['Enumerable # sum'] (http://api.rubyonrails.org/classes/Enumerable.html#method-i-sum) ist eine Rails/ActiveSupport-Methode. – Stefan