G
Gavin Sinclair
A quick one. I see some sense in Object#send accepting 'nil' as the
message. You send no message, you get the plain object. Does anyone
agree?
#send is clearly useful when you want to vary the message sent to an
object based on some condition. Sometimes the default condition is to
send no message, but that can't be coded as elegantly.
For example:
date_colour_msg =
case Date.today - date
when 0 then :red
when 1 then :yellow
when 2..5 then :green
else
nil # Default: whatever the normal colour is.
end
date_str = date.to_s.send(date_colour_msg)
That example's not too contrived, is it?
Cheers,
Gavin
message. You send no message, you get the plain object. Does anyone
agree?
#send is clearly useful when you want to vary the message sent to an
object based on some condition. Sometimes the default condition is to
send no message, but that can't be coded as elegantly.
For example:
date_colour_msg =
case Date.today - date
when 0 then :red
when 1 then :yellow
when 2..5 then :green
else
nil # Default: whatever the normal colour is.
end
date_str = date.to_s.send(date_colour_msg)
That example's not too contrived, is it?
Cheers,
Gavin