I’m wanting to figure out what the &: syntax does, but I’m not exactly
sure
how to search for it given that it contains special characters… a
search
on google for “ruby &:” doesn’t really give me anything worth looking
at,
and I just checked through the first edition of the Pickaxe (I don’t own
the
second edition), and couldn’t find anything in there, either (although,
sometimes I miss really obvious things, so I suppose it’s possible I
just
missed it in there).
If someone could either explain it to me, or point me in the direction
of
something that explains it, I would greatly appreciate it.
(And I also tried searching on ruby-forum.org for &:… it returns
“Application Error”)
Thanks.
Luke I. wrote:
I’m wanting to figure out what the &: syntax does, but I’m not exactly
sure
how to search for it given that it contains special characters… a
search
on google for “ruby &:” doesn’t really give me anything worth looking
at,
and I just checked through the first edition of the Pickaxe (I don’t own
the
second edition), and couldn’t find anything in there, either (although,
sometimes I miss really obvious things, so I suppose it’s possible I
just
missed it in there).
If someone could either explain it to me, or point me in the direction
of
something that explains it, I would greatly appreciate it.
(And I also tried searching on ruby-forum.org for &:… it returns
“Application Error”)
Thanks.
And, I think I just figured it out… it’s using a symbol to reference a
function, and an & to turn it into a block? Then you can send a
function (wrapped in a closure) to another function expecting a block?
On 2/9/07, Luke I. [email protected] wrote:
(And I also tried searching on ruby-forum.org for &:… it returns
“Application Error”)
Thanks.
Hi Luke,
The &: syntax is the famous Symbol#to_proc hack. The & operator calls
#to_proc on the object it is connected to, in this case a Symbol.
This isn’t in Ruby core, but it is in Rails, and a bunch of extension
frameworks. Essentially it takes the first argument passed to it, and
runs the method that was passed in symbol form.
http://sn.oplo.ws/index.php?title=Symbol#to_proc
You might find this blog helpful:
btw, for further searches you should also check out the Ruby kitchen
sink:
http://rubykitchensink.ca/
It searches Ruby/Rails pages only (currently about 10.000 of them, and
still growing) so it might give you more relevant results.
Cheers,
Peter
__
http://www.rubyrailways.com :: Ruby and Web2.0 blog
http://scrubyt.org :: Ruby web scraping framework
This isn’t in Ruby core, but it is in Rails, and a bunch of extension
frameworks.
Is there a specific reason for this (it not being in core)? It seems
like a quite useful functionality, and, although I am admittedly rather
new at this, I don’t see what problems it would cause to include it.
Man… I understand exactly what a lambda is now, I understand inject’s
usefulness better, and I had no idea that doing ‘&’ called
.to_proc
Sweet.
Chris C. wrote:
On 2/9/07, Luke I. [email protected] wrote:
(And I also tried searching on ruby-forum.org for &:… it returns
“Application Error”)
Thanks.
Hi Luke,
The &: syntax is the famous Symbol#to_proc hack. The & operator calls
#to_proc on the object it is connected to, in this case a Symbol.
This isn’t in Ruby core, but it is in Rails, and a bunch of extension
frameworks. Essentially it takes the first argument passed to it, and
runs the method that was passed in symbol form.
http://sn.oplo.ws/index.php?title=Symbol#to_proc
Wow.
I just had one of those moments where a minor little thing causes a
gigantic shift in my perceptions. That is just freakin cool!
Florian F. wrote:
Luke I. wrote:
Is there a specific reason for this (it not being in core)?
It’s in 1.9.
Much obliged.
Is there a ruby core timeline I can look at (ie. when they plan on
releasing new minor and/or major versions), or is it just kind of mutual
decision by core comitters at any given time?