1
A
回答
5
這意味着:
s.feature_addons.select { |addon| addon.is_active? }
的&
呼叫的對象上to_proc
,並將它作爲一個塊的方法。
class Symbol
def to_proc
Proc.new { |*args| args.shift.__send__(self, *args) }
end
end
U可以在其它類定義to_proc
方法:Examples
3
這對to_proc
的快捷方式。例如,您所提供的代碼是等價的:
s.feature_addons.select {|addon| addon.is_active?}
一些舊文檔也可以在這裏找到:
http://apidock.com/rails/Symbol/to_proc(當它被的ActiveSupport提供)
然後它變成了在1.9
1
Ruby的核心部分你可以使用這個語法速記方法ŧ o適用於整個集合。
它在功能上等同於:
s.feature_addons.select { |a| a.is_active? }
你可以用任何的集合,如使用它:
User.all.map(&:id)
等
相關問題
- 1. 任何人都可以評論這個紅寶石代碼?
- 2. 任何人都可以解釋我的這段代碼嗎?
- 3. Javascript:任何人都可以解釋我這段代碼嗎?
- 4. 任何人都可以解釋這段代碼的輸出嗎?
- 5. 任何人都可以解釋我這個代碼行嗎?
- 6. 任何人都可以解釋這個matlab代碼給我嗎?
- 7. 任何人都可以幫我解釋這個python代碼嗎?
- 8. 任何人都可以解釋這個TypeScript代碼片段?
- 9. 任何人都可以向我解釋這段代碼?
- 10. 任何人都可以請解釋我這段代碼?
- 11. 任何人都可以解釋在這段代碼中使用javax.swing.SwingUtilities.invokeLater
- 12. 任何人都可以幫我理解這段代碼嗎?
- 13. 任何人都可以幫助我理解這段代碼嗎?
- 14. 解釋紅寶石代碼片段
- 15. 任何人都可以解釋這段代碼的確切含義嗎?
- 16. 任何人都可以使用json_encode和json_decode解釋這個PHP代碼嗎?
- 17. 任何人都可以用這段代碼幫我嗎?
- 18. 任何人都可以解釋這
- 19. 任何人都可以解釋OAuth嗎?
- 20. 任何人都可以解釋這個peudo代碼(分區)
- 21. 任何人都可以幫助解釋這部分代碼?
- 22. 任何人都可以解釋我這個代碼
- 23. 任何人都可以解釋這一小塊代碼?
- 24. 任何人都可以解釋我這個代碼的工作
- 25. 任何人都可以解釋這個PHP代碼?
- 26. 任何人都可以在C中解釋這個結構嗎?
- 27. 任何人都可以解釋下面的代碼嗎?
- 28. 任何人都可以解釋下面的PHP代碼嗎?
- 29. 任何人都可以解釋下面的PHP代碼嗎?
- 30. 任何人都可以解釋下面的代碼嗎?
它只是's.feature_addons的快捷方式。選擇{| a | a.is_active?}'。你會經常用'map','inject'和其他方法看到它,而不僅僅是'select'。 | –
@沒有被右邊鏈接的問題有一個更好的討論。 – kristinalim
@sawa提供了一個非常好的解釋[這裏](http://stackoverflow.com/questions/14881125/what-does-to-proc-method-mean)。 –