简体   繁体   中英

Why does Ruby Kirbybase doesn't work with if statement?

I recently started using kirbybase in ruby, but I ran into a problem using the if statement with a result set. Here's a semplified code that seems to have this problem:

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

Why does it output "wrong"?

It seems to be strange to answer my own question but I solved the problem: account.test is an array so the correct form of the if statement is:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM