0

教育目的で簡単なクラスを書くように言われたら、どうしますか? 私は端正で示唆に富むことを考えています。オブジェクトを生成できるもの。複雑になりすぎずに、いくつかの変数タイプを使用することもできます。

提案として、オブジェクトごとに 3 つの属性 (名前、国籍、挨拶) を持つクラスである可能性がありますが、Personこれが最小限のコード行で最大の教育的価値に役立つかどうかはわかりません。

何千もの Ruby クラスを作成し、その専門知識を蒸留して指導に最適なクラスにすることができる専門家から回答を得たいと思っています。

4

1 に答える 1

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行い、最後にカスタム セッターとゲッターを使用することができます。素晴らしい進歩を示している私見。

于 2012-05-19T08:49:24.307 に答える