Ruby 本地编程中的数据库

Ruby 本地编程中的数据库,ruby,database,oop,Ruby,Database,Oop,我正在尝试用Ruby建模协作,我有类似于Simulator和Agent的类。我发现我最终会做一些适合数据库的事情,比如说this.agent.find\u by_id(1).score.increment或this.cooperation,其中cooperation将一个值传递给模拟器,模拟器会在两个agent的得分上加上一些值,并为agent保留一个计数。这是可能的,还是我只是想错了?您可以在rails之外使用ActiveRecord: require 'active_record' requ

我正在尝试用Ruby建模协作,我有类似于
Simulator
Agent
的类。我发现我最终会做一些适合数据库的事情,比如说
this.agent.find\u by_id(1).score.increment
this.cooperation
,其中cooperation将一个值传递给模拟器,模拟器会在两个agent的得分上加上一些值,并为agent保留一个计数。这是可能的,还是我只是想错了?

您可以在rails之外使用ActiveRecord:

require 'active_record'
require 'mysql2'

ActiveRecord::Base.establish_connection(
  :adapter  => 'mysql2',
  :database => 'database_name',
  :username => 'username',
  :password => 'password',
  :host     => 'localhost'
)

您的类应该只继承自
ActiveRecord::Base
。您也可以使用Mongoid或任何其他数据库映射器。

是否要使用数据库?您的语法不需要有数据库。数据存储和持久性、快速访问的随机访问、海量数据,所有这些都指向了对数据库的需求。如果您想要类似ActiveRecord的语法,可以编写基于AR的方法,而无需DBMS。