什么';在Ruby中,判断SQLite是否返回一行的最简单方法是什么?

什么';在Ruby中,判断SQLite是否返回一行的最简单方法是什么?,ruby,sqlite,Ruby,Sqlite,我对Ruby非常陌生,我将它与SQLite一起使用 我已经编写了register和deregister函数,但是我一直在编写一个函数来告诉给定的用户是否在数据库中注册 这是当前代码: def registered?(l) db = SQLite3::Database.new "database.db" db.execute("SELECT user FROM t1 WHERE user = ?, ", l[1]) end 判断SQLite是否向该查询返回了一行的最简单方法是什么

我对Ruby非常陌生,我将它与SQLite一起使用

我已经编写了register和deregister函数,但是我一直在编写一个函数来告诉给定的用户是否在数据库中注册

这是当前代码:

 def registered?(l)
  db = SQLite3::Database.new "database.db"
  db.execute("SELECT user FROM t1 WHERE user = ?, ", l[1])
  end
判断SQLite是否向该查询返回了一行的最简单方法是什么

更新

谢谢你对如何做的建议。以下是更新的代码:

 def registered?(l)
  db = SQLite3::Database.new "database.db"
  results = db.execute("SELECT user FROM t1 WHERE user = ?, ", l[1])
  !results.empty?
 end
我正在使用它:

  if registered?(@nick)
   ...
  end

但我想这是不对的,因为注册
@nick
时,
@nick
下的代码不会被触发。我有两个在同一个
类用户
。我做错什么了吗?

响应不应该是空数组:

res = db.execute("SELECT user FROM t1 WHERE user = ?, ", l[1])
if !res.empty?
 # some row is returned
end

执行的结果是一个数组():


然后你会说
@user.registed?

谢谢你的回答。你能在问题中检查我的更新代码吗?注册的方法在哪里?在用户类中?不要“演变”这样的问题。它使现有的答案无效。相反,要问单独的问题。
class User
  def registered?
    db = SQLite3::Database.new "database.db"
    results = db.execute("SELECT user FROM t1 WHERE user = ?, ", self)
    !results.empty?
  end
end