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

看板Ruby作者 (隱匿的老頭)時間16年前 (2009/06/21 12:41), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《makoto63215 (隱匿的老頭)》之銘言: : 環境: : e.g. Ruby 1.8.6 OS:Windows XP : 抱歉 的確說得不清楚 下面這些程式碼是要模擬一個假想情況: 在一個邊長2公里的正方形空地,亂數分佈100個人 每個人身上都有一個ID供辨認,然後每個人一開始都帶有固定的能量 然後每一次每個人動作不同, 動作有站著不動2分鐘,原地跑步2分鐘,青蛙跳20下,伏地挺身20下..等 所以每個人每次消耗的能量也不一樣 根據下面的if敘述來決定做哪一種動作 我的用意就是要設定一個變數 找出每一次每個人身上所剩餘的能量 那個變數名稱是Capacity_cur 下面是修正的程式碼 : module Arc : InitialCapacity = 40000 : end : Class XXX : include Arc : attr_accessor :capacity : ............ : ............ : ............. : ............ : def initialize() : @capacity = Arc::InitialCapacity : @ID = id @site = site : ............ : end : ................. : ................ : end srt = 0.67 srand(0) total = 100 : 50.times { : mebers = Array.new(total){|| XXX.new([(rand*50),(rand*50)] ) } : ....................... : ....................... : Capacity_cur = {"mebers.ID"=>"mebers.capacity"} : Dis = Capacity_cur*srt : if ................. : ................. : elseif ............. : ............. : else ............. : ............. : end : ............. : } : exit(0) ps:先前想的雜湊,如果不在Capacity_cur後方加上 to_f ,就會產生下面的訊息: in '*': String can't be coerced into Float(TypeError) 我的解讀是 Capacity_cur的值,被當作是字串,所以不能跟浮點數相乘 但是加上 to_f後,就沒有跑出任何訊息了 我覺得Capacity_cur後面加上to_f,判定值為0 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.129.27.212
文章代碼(AID): #1AFReGEJ (Ruby)
文章代碼(AID): #1AFReGEJ (Ruby)