[問題] 如何設定一個會變動的Parameter

看板Ruby作者 (隱匿的老頭)時間16年前 (2009/06/21 01:38), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/4 (看更多)
環境: e.g. Ruby 1.8.6 OS:Windows XP 大家好 我是程設新手 不好意思 可能標題會讓很多人看不太懂 問題是這樣 我在一個程式裡要設定一個變數Capatity_cur 這個變數Capacity_cur會根據我的主程式而改變 我應該要如何設定這個變數 Capacity_cur:目前這一回合的能量 由於每一個成員在每一回合所做的動作不一樣 所以能量也不一樣 舉例來說: Capacity_cur(meber18)!=Capacity_cur(meber37) 在Round34 程式大概是這樣: module Arc InitialCapacity = 40000 end Class XXX #XXX是類別的名稱 include Arc attr_accessor :capacity ............ ............ ............. ............ def initialize() @capacity = Arc::InitialCapacity @ID = id ............ end ................. ................ end round = 0 ============================ #以下為主程式 until mebers.empty? do round += 1 mebers = Array.new{|meber| ........} ....................... ....................... ....................... Dis = Capacity_cur/round if .......... #以下的程式碼會根據一些情況 capacity -= 80 #每回合每一個meber的capacity都會減少 elseif ....... #但是減少的量不同 capacity -= 40 else ............. capacity -= 20 end ............. break if round = 50 end exit(0) 我所想的方法是 定義一個新的雜湊. 程式碼改寫為: mebers = Array.new{|| .........} meber_capacity = {"meber.ID"=>"meber.capacity"} .................. .................. Dis = meber_capacity["meber.ID"].to_i/round 但是沒成功,想請問大家應該如何設定? x -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.129.27.212

06/21 02:33, , 1F
對不起,真的沒看懂,可否去掉程式用文字說明一次?
06/21 02:33, 1F

06/21 02:33, , 2F
例如第一回合有哪些數字,第二回合應該變哪些
06/21 02:33, 2F

06/21 06:35, , 3F
用雜湊應該可行,沒成功的原因是??
06/21 06:35, 3F

06/21 11:54, , 4F
meber_capacity = {"meber.ID"=>meber.capacity}這樣?
06/21 11:54, 4F

06/21 11:58, , 5F
另,建議 Key 用 symbole 如 :member_id 這樣
06/21 11:58, 5F

06/21 19:13, , 6F
symbol
06/21 19:13, 6F
文章代碼(AID): #1AFHw4wg (Ruby)
文章代碼(AID): #1AFHw4wg (Ruby)