Where does song.name come from?

Hi all,

On page 49 of Pickaxe 2 are some scripts:

class Songlist
def with_title(title)
@songs.find{|song| title==song.name}
end
end

I just wonder where the method “name” comes from and
what its purpose is here. I check for Index on page
809 and find “name” is mentioned in class Module only,
which returns the name of module mod.

Thanks,

Li

On Dec 27, 2006, at 10:55 PM, chen li wrote:

I just wonder where the method “name” comes from and
what its purpose is here. I check for Index on page
809 and find “name” is mentioned in class Module only,
which returns the name of module mod.

Very much earlier in the book (p. 26 in the PDF version) the class
Song was defined as follows:

class Song
def name
@name
end
def artist
@artist
end
def duration
@duration
end
end

That’s where ‘name’ comes from. It’s a reader method and it’s purpose
is to return the value of the instance variable Song::@name. It has
nothing to do with the method Module::name.

Regards, Morton

chen li wrote:

On page 49 of Pickaxe 2 are some scripts:

class Songlist
def with_title(title)
@songs.find{|song| title==song.name}
end
end

I just wonder where the method “name” comes from and
what its purpose is here.

Earlier in the book there is:

class Song
def name
@name
end

Gavin K. wrote:

Earlier in the book there is:

class Song
def name
@name
end

Thanks.

The methods about class Song are everywhere on different pages.
Sometimes I get lost. I think it would be nice if somewhere in the
book(such as appendix) class Song and all its methods are put together.

Li