# encoding: utf-8
class Person
attr_reader :short_name
def initialize(short_name)
@short_name = short_name
end
def greeting_line
short_name = short_name.downcase
"Hello #{short_name}"
end
end
person = Person.new("MS. LEE")
puts person.short_name => "MS. LEE"
puts person.greeting_line => NoMethodError: undefined method `downcase' for nil:NilClass
(short_name = short_name) により short_name が nil になるため、「short_name = short_name.downcase」で例外が発生します。
右側の「short_name」がインスタンスメソッド「short_name」から値を取得していないのはなぜですか?