回答
&结果:价格是“使用#price方法的每一个成员上速记的集合“。
一元“&”,当作为参数成方法传递告诉红宝石“借此,使之成为一个Proc”。符号上的#to_proc方法将#将该符号发送给接收对象,该对象通过该名称调用相应的方法。
我绝对不是一个Ruby专家,但我记得,它的意思是一样,因为它会在C/C++,它在哪里的地址 - 的运营商。换句话说,该方法price
本身作为参数来传递sum
,而不是price
被调用,并且被传递到sum
这是一个令人惊讶的很好的猜测,但它不是很正确。 mattt的回答是对的。 – 2011-05-10 15:11:57
不完全正确的内涵,但从用户的角度来看,结果非常相似。对于熟悉C或C++的人来说,这是一个合理的“意味着什么”的心智模型。 – jalf 2011-05-10 15:13:45
不,它无关+=
。一元运算符&
用于方法调用时,将给定的Proc对象转换为块。如果操作数不是一个Proc(在这种情况下它是一个符号),首先调用to_proc
,然后生成的Proc对象变成一个块。
“如果方法的最后一个参数前面带有一个&符号,Ruby会假定它是一个Proc对象,它将它从参数列表中移除,将Proc对象转换为块,并将其与方法关联。 “
从Programming Ruby: The Pragmatic Programmers' Guide
了解更多关于它in this article。
谢谢,您的答案中的第二篇文章非常有用。 – kim3er 2011-05-10 15:43:59
- 1. ruby语法是什么意思?
- 2. 下面的说法是什么意思?
- 3. Haxe语法;以下是什么意思?
- 4. “::”语法是什么意思?
- 5. 在Razor语法中,@是什么意思?
- 6. JS中的语法是什么意思?
- 7. objc中的语法是什么意思?
- 8. PHP语法中的$ {}是什么意思?
- 9. Python中的语法是什么意思?
- 10. C++中的(*)语法是什么意思?
- 11. 什么是“=!”在下面的PHP代码中是什么意思?
- 12. Ruby中的语法[* a..b]是什么意思?
- 13. 语法是什么?在这个Ruby例子中是什么意思
- 14. python语法中的[]意思是什么意思
- 15. 在Ruby中``[var_name]`是什么意思?
- 16. 在Ruby中=〜和/ \是什么意思?
- 17. “do | |”是什么意思?在Ruby中?
- 18. $$在Ruby中是什么意思?
- 19. 在Ruby中,array * string是什么意思?
- 20. || =在Ruby中是什么意思?
- 21. 在Ruby中,&。!=是什么意思?
- 22. 在Ruby中,“scoped”是什么意思?
- 23. 下面的比较是什么意思?
- 24. 下面的警告是什么意思?
- 25. 下面的代码是什么意思?
- 26. 下面的陈述是什么意思?
- 27. 下面的代码是什么意思
- 28. 下面的driver_options params是什么意思?
- 29. 下面的代码是什么意思?
- 30. 什么意思 - >在Ruby中的意思是
[Ruby中有什么映射(&:name)的含义?](http://stackoverflow.com/questions/1217088/what-does-mapname-mean-in-ruby) – 2011-05-10 23:15:46