SQLite3 的 new() 在这个 ruby 示例中返回了什么



我正在遵循制作对象关系映射的指南。 但该指南假设我知道 gem SQLite3 及其库。它为我提供了这段代码,这是多次调用new方法之一。我找到了一些关于它的文档,指出"它创建了一个新的数据库对象"......这在抽象层面上是有意义的。但是我不记得数据库对象是什么样子的,有人可以给我一个示例来说明这将返回什么吗?

def init_object_from_row(row)
if row 
data = Hash[columns.zip(row)]
new(data)
end
end

它只是一个哈希吗?

从实例方法内部调用new会创建实例方法中包含的任何类的新对象。例如,假设该方法位于Foo类中。

class Foo
def init_object_from_row(row)
if row 
data = Hash[columns.zip(row)]
new(data)
end
end
end

这将返回使用data哈希作为其参数的Foo类的新实例。这不是 sqlite3 所特有的;这只是 Ruby 的一个特征。

最新更新