0
我試圖將一段Ruby代碼轉換爲Node.js.有一件特別的作品讓我難住,關於yield
。該代碼是這樣的:將嵌套函數中的Ruby產出轉換爲Node.js
each_pair(hash["args"][0]) do |key, value, pair|
# perform operations
end
...
def each_pair(hash)
hash["props"].each do |p|
yield(p["key"], p["value"], p)
end
end
如果我正確地讀這段代碼,它說:「遍歷哈希屬性對於每一個元素,再打出去外功能和給定p["key"], p["value"], p
值執行操作。 「。
我不能真正理解這將如何在Javascript中看起來。我熟悉寫更多瑣碎的封閉。是否可以進行轉換?我猜它是這樣的:
each_pair(hash["args"][0], function(key, value, pair) {
// perform operations
}
...
function each_pair(hash, func) {
hash["props"].forEach(p) {
func(p["key"], p["value"], p)
}
}
可是,我感覺不對......
很酷,感謝您的驗證。有沒有什麼能夠把這個從「好」翻譯成好的翻譯? – GJTorikian
這是我的JS知識的邊緣,所以也許有人想要......但[JavaScript 1.7](https://developer.mozilla.org/en-US/docs/JavaScript/New_in_JavaScript/1.7 )有一個「yield」關鍵字。 –