2017-04-09 7 views
-1

Ich arbeite an einem einfachen Blackjack-Spiel und versuche, den Wert der Variable 'Dealer_value3' von "A" Zeichenfolge in eine ganze Zahl von entweder 11 oder 1 je nach den Händlern zu ändern Hand. Mein aktueller Code gibt mir immer einen Fehler.Wie ändere ich den Wert einer Variablen in Ruby

if dealer_value3 == "A" 
if dealer_hand1 < 11 
    return dealer_value3 = 11 
else 
    return dealer_value3 = 1 
end 
end 
+1

Welcher Fehler wird generiert? Was ist der Wert von 'dealer_hand1'? – Wikiti

+0

Dieser Code macht keinen Sinn, Sie weisen ihn einer lokalen Variablen zu und dann * sofort * 'return ', was die Methode beendet und alle lokalen Variablen außer Reichweite bringt, also warum überhaupt die Zuweisung? Ihr Code ist äquivalent zu 'if dealer_value3 ==" A "und dann zurück, wenn dealer_hand1 <11 dann 11 else 1 end end". –

+1

können Sie uns mehr von Ihrem Code zeigen? Wo wird dealer_value3 zum ersten Mal deklariert? – eiko

Antwort

0

Es ist am besten, an Variablen außerhalb der Konstrukte unseres anderen Codes zu denken.

Die Variablen von Ruby erfordern sehr wenig Code/Syntax.

Wir können eine Variable erstellen, indem Sie ihren Namen, ein = Zeichen eingeben oder eine Zuweisung und einen Wert aufrufen.

count = 1

Unsere Variablennamen count und sein Wert wird zugewiesen 1

Wir Zahl bei AnyPoint in der Zeit neu zuordnen kann (wenn er im Rahmen ist (nicht zu noch google))

count = 1 
puts count # => 1 

count = "bananas" 
puts count #=> "bananas" 

Ihre Verwendung der Rückkehr ist, was Ihr spezielles Problem verursachtreturn kann nur innerhalb einer Methode so innerhalb verwendet werden.

def a_method 
    return 1 
end 

puts a_method # => 1 
Verwandte Themen