[問題] 如何以迴圈將symbol對應的value塞入陣列中

看板Ruby作者 (傻傻的妳 聰明如我)時間13年前 (2011/08/26 16:43), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/2 (看更多)
狀況: 如題,我希望將不固定數量的symbol所對應的value,塞入array中, 例如: :file1 => "a.txt", :file2 => "b.txt", :file3 => "c.txt",...... 全部塞進 file = [] 中, 但卡在於不知該以甚麼方式讓程式知道有幾個file 以及將symbol key轉為我可用作迴圈處理之counter 麻煩各位先進替解惑一下,感激不盡~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.242.250.115

08/26 20:41, , 1F
都放進陣列了,怎麼會不知道有幾個file@@
08/26 20:41, 1F

08/26 21:02, , 2F
陣列裡有甚麼東西?
08/26 21:02, 2F

08/26 21:29, , 3F
file = [:file1, :file2, :file3, ...] 我猜的
08/26 21:29, 3F

08/26 23:03, , 4F
{:file1 => 'a', :file2 => 'b'}.values ?
08/26 23:03, 4F

08/27 04:35, , 5F
hash.select{|k,v|/^file/===k}.values 有解決嗎?
08/27 04:35, 5F
感謝tcling大,嘗試過後您的方法正是我要的, 但不太明白/^file/===k這邊為甚麼是這樣寫? ※ 編輯: allenkuo 來自: 59.115.147.139 (08/28 13:15)

08/28 13:38, , 6F
/^file/是regular expression,===是比對,regex的方法
08/28 13:38, 6F

08/28 13:39, , 7F
可以先去看看regex是甚麼
08/28 13:39, 7F
文章代碼(AID): #1ELroR9T (Ruby)
文章代碼(AID): #1ELroR9T (Ruby)