テキストと単語数を受け入れる次の関数があり、テキスト内の単語数が単語数を超えた場合、省略記号で切り捨てられます。
#Truncate the passed text. Used for headlines and such
def snippet(thought, wordcount)
thought.split[0..(wordcount-1)].join(" ") + (thought.split.size > wordcount ? "..." : "")
end
ただし、この関数が考慮しないのは、たとえば非常に長い単語です...
「ハローオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオ ワールド!」
私がやろうとしていることにアプローチするためのより良い方法があるかどうか疑問に思っていたので、効率的な方法で単語数とテキストサイズの両方を考慮に入れています。