此代碼:p [1, 2].each{ "foo" }
產生nil
,而我希望它在迭代後放置[1, 2]
。如何在水晶?遍歷數組並返回自身
3
A
回答
4
使用tap
:
p [1, 2].tap &.each { "foo" } # => [1, 2]
它產生自我塊,然後返回自己。
另一種選擇(不推薦)可以創建簡單地做每一後返回自己的自定義方法:
class Array
def each_with_self
each { |x| yield x }
self
end
end
p [1, 2].each_with_self { "foo" } # => [1, 2]
1
對於你所要求的情況下,它可能是足夠用括號中p(..)
因爲p
作爲結果返回參數。
p([1, 2]).each{ "foo" }
的p
此行爲提供用於在表達式的中間做容易檢查,即改變foo(bar, baz)
到foo(p(bar), baz)
。
至於#each
,晶振決定返回nil
以改善生成的代碼,因爲該值大部分時間不使用。這也阻止了在一天結束時產生一些工會。
相關問題
- 1. 遍歷返回的數據
- 2. 循環遍歷循環並返回數組中的字符串
- 3. 遍歷數組並返回結果放入陣列
- 4. 我需要遍歷數組列表並返回匹配
- 5. Neo4j:遍歷返回
- 6. 在Python中遍歷n遍歷樹並返回節點實例
- 7. 遍歷MVC模式,並返回
- 8. 遍歷列表並返回匹配鍵
- 9. 遍歷鏈表並返回char *值
- 10. 異步遍歷數組,然後返回數組?
- 11. 遍歷數組
- 12. 遍歷數組
- 13. 遍歷數組
- 14. 遍歷數組
- 15. 遍歷數組
- 16. 遍歷數組
- 17. 遍歷數組
- 18. 遍歷數組
- 19. 遍歷數組
- 20. 如何從函數返回一個數組並循環遍歷它?
- 21. 如何遍歷由Java中的函數返回的數組
- 22. jquery遍歷數組
- 23. 遍歷數組值
- 24. 遍歷數組--java
- 25. 遍歷數組樹?
- 26. ç遍歷數組
- 27. typoscript - 遍歷數組?
- 28. php數組遍歷
- 29. 遍歷列表的迭代函數,並追加返回的值
- 30. Scheme:遍歷列表並僅返回非數字的程序