gpt4 book ai didi

ruby - `except' : EXCEPT 不受支持 (Sequel::InvalidOperation)

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:47 26 4
gpt4 key购买 nike

我在尝试运行 sinatra 应用程序时遇到错误。我试着用谷歌搜索它,但什么也没有出现。如果你们可以就如何修复它或我做错了什么提供任何建议,那将是很大的帮助。

部分代码出错

   def logTownDeltas!(newDate)
deltas = []

oldTowns = @db[:towns].filter { data_timestamp < newDate }
currentTowns = @db[:towns].except(oldTowns)

destroyedTownIDs = oldTowns.select(:town_id).except(currentTowns.select(:town_id)).collect { |d| d[:town_id] }
createdTownIDs = currentTowns.select(:town_id).except(oldTowns.select(:town_id)).collect { |c| c[:town_id] }

alteredTowns = Hash.new
currentTowns.each { |town|

}

错误

    C:/Ruby22/lib/ruby/gems/2.2.0/gems/sequel-4.29.0/lib/sequel/dataset/query.rb:119:in `except': EXCEPT not supported (Sequel::InvalidOperation)
from C:/Users/dakota/Desktop/IllyriadAp/data_syndicator/core.rb:107:in `logTownDeltas!'
from C:/Users/dakota/Desktop/IllyriadAp/data_syndicator/core.rb:93:in `parseTownData'
from C:/Users/dakota/Desktop/IllyriadAp/data_syndicator/core.rb:45:in `block (2 levels) in run!'
from C:/Ruby22/lib/ruby/2.2.0/open-uri.rb:154:in `open_uri'
from C:/Ruby22/lib/ruby/2.2.0/open-uri.rb:716:in `open'
from C:/Ruby22/lib/ruby/2.2.0/open-uri.rb:34:in `open'
from C:/Users/dakota/Desktop/IllyriadAp/data_syndicator/core.rb:44:in `block in run!'
from C:/Users/dakota/Desktop/IllyriadAp/data_syndicator/core.rb:41:in `each'
from C:/Users/dakota/Desktop/IllyriadAp/data_syndicator/core.rb:41:in `run!'
from data_syndicator.rb:17:in `<main>'

插入数据库

 destroyedTownIDs.each { |d|
t = oldTowns.filter(:town_id => d).first
@db[:town_deltas].insert(
:happened_at => newDate,
:town_id => d,
:owner_id => t[:owner_id],
:name => t[:name],
:population => 0,
:is_capital => 0,
:is_alliance_capital => 0)
}


createdTownIDs.each { |c|
t = currentTowns.filter(:town_id => c).first
@db[:town_deltas].insert(
:happened_at => newDate,
:town_id => c,
:owner_id => t[:owner_id],
:name => t[:name],
:population => t[:population],
:is_capital => t[:is_capital],
:is_alliance_capital => t[:is_alliance_capital])
}

Link to full source just in case

最佳答案

试试这个:

def logTownDeltas!(newDate)
deltas = []
currentTowns = @db[:towns].filter { data_timestamp >= newDate }

destroyedTownIDs = @db[:towns].select(:town_id).filter { data_timestamp < newDate }.collect { |d| d[:town_id] }
createdTownIDs = @db[:towns].select(:town_id).filter { data_timestamp >= newDate }.collect { |c| c[:town_id] }

alteredTowns = Hash.new
currentTowns.each { |town|

}

关于ruby - `except' : EXCEPT 不受支持 (Sequel::InvalidOperation),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34602918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com