2014-10-20 2 views
0

Я хочу разрешить пользователю искать слово, используя драгоценный камень динозавров. У меня есть эта часть, и я получил ее, поэтому пользователь вводит количество предложений и абзацев, которые они хотят. Это отображается с использованием почтового процесса. Тем не менее, я хочу иметь возможность отделить каждое отдельное предложение с использованием периода ("."), но я не знаю, где и как я напишу это под моим почтовым процессом.Вставка метки периода в массив в определенных точках

Это код из моего файла HTML, с тегом <form>. В пределах формы я обозначил переменные @nsentences и @nparagraphs как количество предложений за абзац и количество абзацев, введенных пользователем.

<form action = "/process" method="post"> 
    Topic: <input type="text" name ="word"></br> 
    Number of Sentences <input type="text" name="nsentences"></br> 
    Number of Paragraphs <input type="text" name="nparagraphs"></br> 
    <input type="submit" value="Submit"> 
</form> 

Это процесс сообщения в моем файле app.rb, который ссылается на мой HTML-файл сверху. В app.rb файл:

post '/process' do 
    @topic = params['word'] 
    @nsentences = params['nsentences'] 
    @nparagraph = params['nparagraphs'] 

    results = [] 
    results = Dinosaurus.lookup(@topic) 

    results2 = [] 
    results2 = Dinosaurus.lookup(results['noun']['syn'].sample) 

    y = @nsentences.to_i 
    z = @nparagraph.to_i 

    @nwords = [] 
    @sentences = [] 
    @content = [] 

    results['noun']['syn'].each do |word| 
    @nwords << word 
    end 

    results2['noun']['syn'].each do |word| 
    @nwords << word 
    end 

    y.times do 
    a_sentence = [] 

    15.times do 
     a_sentence << @nwords.sample 
    end 

Это где я нажимаю предложение в пределах массива, @sentences, который является пустым массивом, который будет содержать y количества предложений, которые пользователь хочет.

@sentences << a_sentence #.join('. ') #.to_s + "." 

    end 

    z.times do 
    @content << @sentences #.join('. ') #clean #.join(' ') #clean 
    end 

    @contentclean = @content.join(' ') 

    erb :some_file 

end 

В моем файле ERB я сделал так, он отображает @contentclean.

+0

Мы должны видеть примеры входных данных, и пример вывода. –

+0

Вам не нужно говорить нам, новичок в программировании. Просто сделайте свое исследование и задайте хороший вопрос, показывающий нам, что вы пробовали, и дайте нам необходимые нам данные, а также желаемый результат. –

ответ

0

Не используйте:

y.times do 
    ... 
end 

Вместо этого добавьте предложения в коллекцию (используя map) и join с помощью "":

(1..y).map{(1..15).map{@nwords.sample}.join}.join(". ") 

 Смежные вопросы

  • Нет связанных вопросов^_^