如果你被要求为教学目的写一个简单的课程,你会怎么做?我正在思考整洁和指示性。一个可以产生物体的物体。也许有一些变量类型而不会太复杂。
作为一个建议,它可能是一个Person
类,每个对象有三个属性:名称,国籍,问候语,但我不确定这是否适合最小代码行的最大教学价值?
我希望得到一位专家的回答,该专家写了数千个Ruby课程,并且可以将他们的专业知识提炼成完美的教学课程。
答案 0 :(得分:3)
如果你需要的只是在实例变量中跟踪状态,你可以向人们展示最简单的类:
class Person < Struct.new(:name, :nationality, :greeting) ; end
puts Person.new("b1_", "Somewhere", "Heydiho")
#=> #<struct Person name="b1_", nationality="Somewhere", greeting="Heydiho">
下一步,以更“传统”的方式显示定义的类:
class Person
attr_accessor :name, :nationality, :greeting
def initialize(name, nationality, greeting)
@name = name
@nationality = nationality
@greeting = greeting
end
def to_s
"#@name is from #@nationality and says \"#@greeting\""
end
def say_hi(name)
"#@greeting, #{name}"
end
end
然后你可以用attr_accessor
做类似的事情,最后用自定义的setter和getter做。恕我直言,显示了很好的进展。