1

我有一张桌子存放一些声音片段。我试图创建一个循环来读取表格,然后重新读取表格并删除接近重复的记录。

我的代码是这样的:

Numbersound.where{id != nil}.order(:id).each do |sound|
  Numbersound.where{(id != sound.id) & (sound.wavelength = wavelength)}.each do |duplicate|
    if (duplicate.wavecount != nil)
      #compare wave files and check if the same
      if MatchSound.compare(sound.frames, sound.wavecount, duplicate.frames, duplicate.wavecount, 0.03)
        Numbersound.delete(duplicate.id)
      end
    end
  end

问题是我需要从声音数组中删除已删除的记录,否则总会有至少一个匹配项(本身)。

我不能使用 SQL 进行比较,因为我要执行一些相当长的计算。

4

0 回答 0