N-gram ってなに…。
def ngram(target, n) analyzed = [] keywords = target.split(//u) keywords.size.times do |i| keyword = keywords[i, n].delete_if { |i| i.nil? || i.blank? || i.match(/^\s+$/) } next if keyword.size < n analyzed << keyword.join end analyzed.join(" ") end
なんか作ってくださいって言われたので作った。文字列を n 文字で分割したものを作ればいいのかなくらいしか理解してない!無知でほんとうにごめんなさい。
他の人の作ったメソッドを見てみると、もっと長かったり、いろいろなことをしてたので、これじゃダメなのかなーと思いました。
あと、Ruby 久しぶりすぎて、delete_if のあたりとか一発でできるメソッドありそう…。