2017-04-09 164 views
-1

我正在研究一个简单的二十一点游戏,并试图将变量'dealer_value3'的值从“A”字符串更改为11或1的整数,具体取决于经销商手。我目前的代码不断给我一个错误。如何更改Ruby中变量的值

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

它会产生什么错误? 'dealer_hand1'变量的价值是什么? – Wikiti

+0

这段代码没有任何意义,你分配给一个局部变量,然后*立即*'返回',退出该方法,并使所有局部变量超出范围,那么为什么分配呢?您的代码相当于'如果dealer_value3 ==“A”,则返回,如果dealer_hand1 <11 then 11 else 1 end end'。 –

+1

你能告诉我们更多你的代码吗? dealer_value3第一次宣布在哪里? – eiko

回答

0

最好想想我们其他代码的构造之外的变量。

Ruby的变量只需要很少的代码/语法。

我们可以通过说明它的名称,=符号或调用assingment和值来创建一个变量。

count = 1

我们的变量名是count并将其值分配给1

我们可以在anypoint时间重新分配数(如果它的范围之内(不google一下还))

count = 1 
puts count # => 1 

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

您使用退货是什么导致您的特定问题return只能在一个方法内使用。

def a_method 
    return 1 
end 

puts a_method # => 1