Rubyで犬の体重変化を記録する仕組みの設計方法

Ruby

犬の体重変化を追跡する仕組みをRubyで作る場合、オブジェクト指向の設計を活用すると効率的です。犬ごとに体重の履歴を管理できるように設計することがポイントです。

基本クラスの設計

まず、犬を表すクラスを作成し、名前や年齢、体重履歴を属性として保持します。

class Dog
  attr_accessor :name, :age, :weight_history

  def initialize(name, age)
    @name = name
    @age = age
    @weight_history = []
  end
end

体重記録の追加メソッド

体重を追加するメソッドを用意すると、日付と体重の組み合わせで記録できます。

class Dog
  # 既存のコード省略

  def add_weight(weight, date = Date.today)
    @weight_history << { date: date, weight: weight }
  end
end

体重履歴の確認

記録された体重を一覧で確認するメソッドを作ると便利です。

class Dog
  # 既存のコード省略

  def show_weight_history
    @weight_history.each do |entry|
      puts "#{entry[:date]}: #{entry[:weight]} kg"
    end
  end
end

利用例

犬オブジェクトを作成し、体重を追加・表示する例です。

require 'date'

puchi = Dog.new("プチ", 3)
puchi.add_weight(5.2, Date.new(2024,3,1))
puchi.add_weight(5.4, Date.new(2024,4,1))
puchi.show_weight_history
# 出力:
# 2024-03-01: 5.2 kg
# 2024-04-01: 5.4 kg

まとめ

Rubyではオブジェクト指向を活用して、犬クラスに体重履歴の配列と追加・表示メソッドを持たせることで、簡単に体重変化を記録・管理できます。この設計により、複数の犬の体重履歴も容易に扱うことが可能です。

コメント

タイトルとURLをコピーしました