In the book I’m reading to learn Rails (RailsSpace) , the author creates two functions (below) to turn all caps city names like LOS ANGELES into Los Angeles. There’s something I don’t get about the first function, below, however.
Namely, where does “word” come from? I understand that “word” is a local/block variable that disappears after the function has been completed, but what is being passed into/assigned to “word.” IN other words, what is being split?
I would have expected there to have been some kind of argument taking an array or hash passed into this function…and then the “each” function run over that..
def capitalize_each
space = " "
split(space).each{ |word| word.capitalize! }.join(space)
end
# Capitalize each word in place.
def capitalize_each!
replace capitalize_each end
end
At first I thought that the method was incomplete because of the absence of
selfat the beginning but it seems that even without itsplitis being called over the string given,spacewould simply be a default separator. This is how the method could look with explicitself.