我初始化數組值不存儲在數組Ruby on Rails的
k = Array.new
然後 類似
@m = Modul.where(:rfp_id => @rfp.id)
i = 0
for ii in @m
k = ii.name.to_s
i = i + 1
end
然後
k.each do |a|
...
end
,但其值不被存儲在 「K」我怎樣才能做到這一點?
我初始化數組值不存儲在數組Ruby on Rails的
k = Array.new
然後 類似
@m = Modul.where(:rfp_id => @rfp.id)
i = 0
for ii in @m
k = ii.name.to_s
i = i + 1
end
然後
k.each do |a|
...
end
,但其值不被存儲在 「K」我怎樣才能做到這一點?
試着寫乾淨的代碼,例如:
Modul.where(:rfp_id => @rfp.id).pluck(:name).each do |name|
puts name
end
將此k = ii.name.to_s
更改爲k.push(ii.name.to_s)
。它會工作。您沒有在任何地方將項目ii.name.to_s
添加到您的陣列k
。 k = ii.name.to_s
表示在每次循環迭代中,您將引用一個新的字符串對象到本地變量k
。請閱讀Array#push
以自我介紹該方法。
不需要寫k = Array.new
,而是k = []
就足夠你的目的。
確定讓我來試試.. – Anish
空指令現在不工作 – Anish
@Anish測試。我已經編輯 –