知识点:方法和类,为了减少if的使用
题目描述:狗的叫声、年龄、名字、行为等。
代码:
class Dog
attr_accessor :age, :name
def name=(value)
if value == ""
raise "Name can't be blank!"
end
@name = value
end
def age=(value)
if value < 0
raise "An age of #{value} isn't valid!"
end
@age = value
end
def move(destiation)
puts "#{name} runs to the #{destiation}."
end
def talk
puts "#{name} says Bark!"
end
def report_age
puts "#{@name} is #{@age} years old."
end
end
dog = Dog.new
dog.name = "Daisy"
dog.age = 3
dog.report_age
dog.talk
dog.move("bed")
运行结果:
代码解释: