我有一个需要放入 SQLite3 查询的函数。
我有以下方法:
def levenshtein(a, b)
case
when a.empty? then b.length
when b.empty? then a.length
else [(a[0] == b[0] ? 0 : 1) + levenshtein(a[1..-1], b[1..-1]),
1 + levenshtein(a[1..-1], b),
1 + levenshtein(a, b[1..-1])].min
end
end
我想做一个看起来像这样的查询:
@results = The_db.where('levenshtein("name", ?) < 3', '#{userinput}')
我想The_db
在名称列的值与用户输入之间的编辑距离小于的地方找到名称的值3
。问题是我不知道如何在查询中使用 Ruby 函数。这甚至可能吗?