|song| Not documented in Pickaxe Book

Pickaxe Book (2nd Ed.), P. 49, 2nd example, line 3:

  @songs.find {|song| title == song.name }

  I can't find a definition of the "|song|" construction in the book. It is intuitively obvious that it is a variable, and a sort of "catcher's mitt" for the output of the method "@songs.find" -- and acts that way for all other example in the book that I can find.

  What I _can't_ find, though, is a discussion of the construction -- or did I miss it somewhere?

Sam Bassett

Sam'l B wrote:

    Pickaxe Book (2nd Ed.), P. 49, 2nd example, line 3:

    @songs.find {|song| title == song.name }

    I can't find a definition of the "|song|" construction in the book. It is intuitively obvious that it is a variable, and a sort of "catcher's mitt" for the output of the method "@songs.find" -- and acts that way for all other example in the book that I can find.

    What I _can't_ find, though, is a discussion of the construction -- or did I miss it somewhere?

Sam Bassett

In the Pickaxe 2nd Ed., look at the top of page 76.

  Pickaxe Book (2nd Ed.), P. 49, 2nd example, line 3:

  @songs.find {|song| title == song.name }

  I can't find a definition of the "|song|" construction in the book. It is intuitively obvious that it is a variable, and a sort of "catcher's mitt" for the output of the method "@songs.find" -- and acts that way for all other example in the book that I can find.

  What I _can't_ find, though, is a discussion of the construction -- or did I miss it somewhere?

Sam Bassett

Why, it's a chute, of course:
   http://poignantguide.net/ruby/chapter-3.html (Section: Block Arguments)

:wink:

(Definitely, my all-time favorite intro-to-a-programming-language text.)

Richard W. Norton

Nope -- P. 76 has a discussion of gsub, in the context of "Backslash Sequences in the Substitution"

Timothy Hunter wrote:

···

Sam'l B wrote:

    Pickaxe Book (2nd Ed.), P. 49, 2nd example, line 3:

    @songs.find {|song| title == song.name }

    I can't find a definition of the "|song|" construction in the book. It is intuitively obvious that it is a variable, and a sort of "catcher's mitt" for the output of the method "@songs.find" -- and acts that way for all other example in the book that I can find.

    What I _can't_ find, though, is a discussion of the construction -- or did I miss it somewhere?

Sam Bassett

In the Pickaxe 2nd Ed., look at the top of page 76.

Hi --

···

On Fri, 22 Dec 2006, Sam'l B wrote:

  Nope -- P. 76 has a discussion of gsub, in the context of "Backslash Sequences in the Substitution"

Look in the middle of page 22.

David

--
Q. What's a good holiday present for the serious Rails developer?
A. RUBY FOR RAILS by David A. Black (http://www.manning.com/black\)
    aka The Ruby book for Rails developers!
Q. Where can I get Ruby/Rails on-site training, consulting, coaching?
A. Ruby Power and Light, LLC (http://www.rubypal.com)

That is a parameter passed to a block. It allows the method that
yielded to the block to pass information into the block, which in this
case is a song title (I'm guessing?).

Think of it (sort of) as the method yielding to the block feeding it a
parameter like you would a method call: a value is passed in from the
caller and stored in a local instance to be used in the block.

--Jeremy

···

On 12/21/06, Sam'l B <samlb@samlb.ws> wrote:

        Nope -- P. 76 has a discussion of gsub, in the context of "Backslash
Sequences in the Substitution"

Timothy Hunter wrote:
> Sam'l B wrote:
>> Pickaxe Book (2nd Ed.), P. 49, 2nd example, line 3:
>>
>> @songs.find {|song| title == song.name }
>>
>> I can't find a definition of the "|song|" construction in the
>> book. It is intuitively obvious that it is a variable, and a sort of
>> "catcher's mitt" for the output of the method "@songs.find" -- and
>> acts that way for all other example in the book that I can find.
>>
>> What I _can't_ find, though, is a discussion of the construction
>> -- or did I miss it somewhere?
>>
>> Sam Bassett
>>
> In the Pickaxe 2nd Ed., look at the top of page 76.
>

The online version of the first edition of Pickaxe has it here:

http://www.rubycentral.com/book/intro.html

Scroll down to "Blocks and Iterators." It's about 2/3rds down the page.

···

--
Giles Bowkett
http://www.gilesgoatboy.org


http://gilesgoatboy.blogspot.com

dblack@wobblini.net wrote:

Hi --

    Nope -- P. 76 has a discussion of gsub, in the context of "Backslash Sequences in the Substitution"

Look in the middle of page 22.

David

  Got it! Thanks!

···

On Fri, 22 Dec 2006, Sam'l B wrote:

Jeremy McAnally wrote:

That is a parameter passed to a block. It allows the method that
yielded to the block to pass information into the block, which in this
case is a song title (I'm guessing?).

Think of it (sort of) as the method yielding to the block feeding it a
parameter like you would a method call: a value is passed in from the
caller and stored in a local instance to be used in the block.

  That's what I had figured out intuitively -- it catches whatever the method on the left spits out.

Sam'l

···

--Jeremy

On 12/21/06, Sam'l B <samlb@samlb.ws> wrote:

        Nope -- P. 76 has a discussion of gsub, in the context of "Backslash
Sequences in the Substitution"

Timothy Hunter wrote:
> Sam'l B wrote:
>> Pickaxe Book (2nd Ed.), P. 49, 2nd example, line 3:
>>
>> @songs.find {|song| title == song.name }
>>
>> I can't find a definition of the "|song|" construction in the
>> book. It is intuitively obvious that it is a variable, and a sort of
>> "catcher's mitt" for the output of the method "@songs.find" -- and
>> acts that way for all other example in the book that I can find.
>>
>> What I _can't_ find, though, is a discussion of the construction
>> -- or did I miss it somewhere?
>>
>> Sam Bassett
>>
> In the Pickaxe 2nd Ed., look at the top of page 76.
>

Giles Bowkett wrote:

The online version of the first edition of Pickaxe has it here:

http://www.rubycentral.com/book/intro.html

Scroll down to "Blocks and Iterators." It's about 2/3rds down the page.

Here's an URL with an anchor link, for the especially lazy:
http://phrogz.net/ProgrammingRuby/language.html#blocksclosuresandprocobjects

Note the mention of the rules of parallel assignment, and click the link. You'll get more info than you ever wanted to know.

Or, at least, *should* have wanted to know. With irb and Test::Unit, who needs to remember these details?

Devin

Devin Mullins wrote:

Giles Bowkett wrote:

The online version of the first edition of Pickaxe has it here:

http://www.rubycentral.com/book/intro.html

Scroll down to "Blocks and Iterators." It's about 2/3rds down the page.

Here's an URL with an anchor link, for the especially lazy:
The Ruby Language

Note the mention of the rules of parallel assignment, and click the link. You'll get more info than you ever wanted to know.

Or, at least, *should* have wanted to know. With irb and Test::Unit, who needs to remember these details?

  Documentation Nazis and other excessively literal folk,

Sam'l B.