dog.rb
class Dog
def initialize(name)
@name = name
end
def set_nickname(nickname) # rubyでset_hogeは使わないけど今回は簡略化のために大目に見て!
@nickname = nickname
end
def print_nickname
if !defined?(@nickname)
puts('Not Set')
return
end
puts(@nickname)
end
end
if @ageを参照した時に、それがnilだった場合、以下のどちらのケースか分からない。
- 一度も定義されていないからnilなのか
- 一度@nickname=nilを代入した結果のnilなのか
そんな時にはdefind?(@age)
を使用すべし。