x = 10
y = 11
def z(q,x,y)
q = q - (x + y)
end
q = 30
z(q,x,y)
puts "#{q}"
q = 40
z(q,x,y)
puts "#{q}"
有沒有一種方式,Z(Q,X,Y)將每次我用它進行復位?
x = 10
y = 11
def z(q,x,y)
q = q - (x + y)
end
q = 30
z(q,x,y)
puts "#{q}"
q = 40
z(q,x,y)
puts "#{q}"
有沒有一種方式,Z(Q,X,Y)將每次我用它進行復位?
試試這個:
x = 10
y = 11
def z(q,x,y)
q = q - (x + y)
end
q = 30
z1 = z(q,x,y)
puts "#{z1}"
q = 40
z2 = z(q,x,y)
puts "#{z2}"
打印(使用看跌期權):
9
19
一般情況下,你不應該修改PARAMS。在函數z中,q是一個已經設置的參數,但我認爲你也希望它成爲一個外部變量並改變它的狀態。
這是你想要做的,但請不要這樣做。
x = 10
y = 11
def z(q,x,y)
$q = q - (x + y)
end
$q = 30
z($q,x,y)
puts "#{$q}"
$q = 40
z($q,x,y)
puts "#{$q}"
# Prints:
# 9
# 19
這可能是錯誤的代碼。爲什麼?全局不好。當我們幸運地擁有像這樣純淨的數學函數時,像這樣的突變狀態是戰爭罪行,並且可能導致暴亂。我們有一個不需要改變狀態的數學函數。我們真的不希望Z到負責:
第二部分是毀滅性的一部分。當Z不需要時,Z知道外部世界。
看看這是類似於其他答案已經在這裏:
x = 10
y = 11
def z(q, x, y)
q - (x + y)
end
q = z(30, x, y)
puts q
q = z(40, x, y)
puts q
如果您正在使用Ruby或編程一般起步,閱讀了大量的代碼,並觀看現場直播的工作中人們的截屏。這是升級一點點的最快路線。沒關係,如果它不馬上發生,下次嘗試會更容易(幾年後)。
請解釋你想要發生的事情。 – Anthony
我希望z(q,x,y)在使用時工作,所以第一個投入是9,第二個投入是19 –