2

さまざまな属性を持つモデルがあります。すべてのインスタンスが各属性の値を持っているわけではありません。

class Location

  attr_accessible :name,     # string, default => :null
                  :size,     # integer, default => 0
                  :latitude, # float, default => 0
                  :longitude # float, default => 0

  # Returns a unique hash for the instance.
  def hash
   # ...
  end

end

インスタンスの一意の ID を返すハッシュ関数を実装するにはどうすればよいですか? オブジェクトでハッシュ関数を呼び出すたびに同じになるはずです。ランダムな一意の ID は必要ありません。ハッシュを変更せずに sqlite3 データベースに格納できるはずです。


MetaSkills による回答を読むことができるように、メソッドを上書きすることはお勧めできません。これは、「比較と等価のために大量の ruby​​ オブジェクトで使用される」ためです。したがって、名前を に変更します。hashcustom_attributes_hash

4

1 に答える 1