8
我最近遇到了代碼,看起來像這樣:這是什麼Ruby語法?
next {
'foo' => bar,
'foobar' => anotherbar,
}
起初,它看起來像一個簡單的哈希,但下一個沒有賦值。接下來在這種情況下看起來像一個保留的Ruby關鍵字這段代碼做了什麼?
我最近遇到了代碼,看起來像這樣:這是什麼Ruby語法?
next {
'foo' => bar,
'foobar' => anotherbar,
}
起初,它看起來像一個簡單的哈希,但下一個沒有賦值。接下來在這種情況下看起來像一個保留的Ruby關鍵字這段代碼做了什麼?
下一個類似於c語言系列中的continue關鍵字,除了在ruby中它使迭代器移動到下一個迭代。由於塊總是有某種返回值,所以你可以選擇將一個作爲參數傳遞給next。
接下來通常用於遍歷文件列表並根據文件名採取行動(或不行)的情況。
下一個可以取一個值,這個值將是塊的當前迭代返回的值。
sizes = [0,1,2,3,4].map do |n|
next("big") if n > 2
puts "Small number detected!"
"small"
end
p sizes
Output:
Small number detected!
Small number detected!
Small number detected!
["small", "small", "small", "big", "big"]
未來使循環停止當前迭代並跳轉到下一個,但我不知道是什麼的哈希這意味着以後。 – Dani 2010-07-20 03:45:29
你能展示更多代碼嗎? – kiamlaluno 2010-07-20 03:46:48