为什么Ruby Kirbybase不能与if语句一起使用?

时间:2018-08-06 21:53:29

标签: ruby database

我最近开始在ruby中使用kirbybase,但是在使用带结果集的if语句时遇到了问题。这是一个似乎有此问题的简化代码:

require 'kirbybase'

db = KirbyBase.new
if db.table_exists?(:database)
db.drop_table(:database)
end

list = db.create_table(:database, :name, :String, :password, :String, :test, :String)

name = 'Test'
password = 'abcde'

list.insert(name, password, nil)

account = list.select { |r| r.name == name}

if account.test.nil?
 puts 'right'
else
 puts 'wrong'
end

为什么输出“错误”?

1 个答案:

答案 0 :(得分:0)

回答我自己的问题似乎很奇怪,但是我解决了这个问题:account.test是一个数组,因此if语句的正确形式是:

if account.test[0].nil?
 puts 'right'
else
 puts 'wrong'
end