Мне удалось собрать воедино это утверждение, основанное на большой помощи, копировании и вставке. По сути, он возвращает первое x количество слов в строке, и я использую его в качестве помощника в моем приложении.
Может кто-нибудь, пожалуйста, помогите мне понять, как я добавил бы условие, чтобы сказать, если фактическая строка меньше чем x слов, не добавляют завершающий бит (который является ...). Поэтому в приведенном ниже уравнении мне нравится, когда раздел «отделка» добавляется только в том случае, если он превышает количество слов, переданных в уравнение.
def first_x_words(str,n=20,finish='…')
str.split(' ')[0,n].inject{|sum,word| sum + ' ' + word} + finish
end
На самом деле - если бы я мог сделать это более сложным, возможно ли, после того как я найду условие, в котором меньше x слов, проверить, есть ли последние 4 символа </p>
и, если они есть, удалить их .
Спасибо,
Адам