我不知道該怎麼說,但我正在嘗試定義許多變量,然後重新定義它們而不重寫每一個變量,並在每個新塊中創建冗餘代碼。這些變量定義了來自多個數據庫的數組元素。這裏是我正在使用的一個縮小的示例:Ruby:(重新)從另一個塊/方法定義變量?
def lots_of_vars(array)
name = array[1]
membership = array[2]
spouse = array[3]
....
lap12 = array[36]
end
def second_block
#database1 => [ "Randy", true, "Nancy", 2, 17, false...
lots_of_vars(database1)
return unless membership
puts "Lap progress for #{name} and #{spouse}: #{lap1}, #{lap2}... #{lap12}..."
end
def third_block
#database2 => [ "Steven", true, nil, 0, 5, false...
lots_of_vars(database2)
return unless spouse.empty? or spouse.nil?
puts "Weekly progress for #{name}: #{lap1}, #{lap5}, #{lap6}, #{lap10}..."
end
第二個和第三個塊需要從第一個塊/方法定義的所有變量。但是,我如何通過所有這些變量?我讀了一個例子,建議我通過他們的作爲參數,如:
def second_block(name, membership, spouse...)
但這會使一樣多亂作爲兩個塊定義兩次,每次變量。對於這種情況,簡單幹燥的方法是什麼? 如果我需要澄清我的問題中的任何內容,請讓我知道,謝謝。
謝謝,需要這個工作完全。 – rubyuser1357796 2012-04-26 18:06:00