Как провести различие между базой данных Vector и каркасом Vector class? - PullRequest
1 голос
/ 06 февраля 2011
# Stores <x, y, z> triplet in database.
class Vector < ActiveRecord::Base
composed_of :vector, :mapping => [%w(x x), %w(y y), %w(z z)]
end

# Immutable vector class.
class Vector
  attr_reader :x, :y, :z

  def initialize(x, y, z)
    @x, @y, @z = x, y, z
  end

  def add(v)
    Vector.new(@x + v.x, @y + v.y, @z + v.z)
  end

  # etc.
end

Как мне соединить и различить два? Я полагаю, что это не очень хорошая идея - иметь только AR-вектор (и поместить все методы и операции там). Я мог бы переименовать первое в DbVector или что-то подобное, но мне интересно, есть ли лучшее решение.

1 Ответ

1 голос
/ 06 февраля 2011

Первое: в Ruby уже есть встроенный векторный класс .Я бы использовал это.

Тогда вам нужно будет устранить неоднозначность имен, я бы предпочел использовать пространство имен для них - может быть, DB::Vector.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...