Разбираем Полученное сообщение в Рубине

голоса
-1

Я кодирование Chatbot Facebook Messenger с Ruby On Rails.

Создать базу данных для ответов. Если сообщение есть в моей базе данных он отвечает, еще ответ, как «К сожалению, не найдено.»

  ....
  def analysis(sender, text)

    message = Message.where(:recieved => text).first
    if message
      reply = message.reply
    else
      reply = Sorry not found
    end
    send_message(sender,reply)
  end
  ....

Я хочу добавить матч регулярного выражения, как условия. Как это: Если сообщение содержит «это» слово. ответить «что».

Как я могу это сделать?

Задан 13/06/2017 в 15:12
источник пользователем
На других языках...                            


2 ответов

голоса
0

Я не уверен , если я получаю то , что ваше намерение, но вы либо можете использовать gsubметод документы , если вы хотите , чтобы заменить вхождения заданных шаблонов в ответах.

Или просто использовать условные операторы, чтобы соответствовать данные regexs, как:

  if /this/.match(message.reply)
     reply = 'that'
Ответил 13/06/2017 в 15:24
источник пользователем

голоса
1

Вы можете использовать подстроку индексации:

definite_article = message.reply['this'] ? 'that' : 'this'
Ответил 13/06/2017 в 15:26
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more