2017-04-09 257 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