Analyzovat přijatá zpráva v Ruby

hlasů
-1

Jsem kódování Facebook Messenger Chatbot s Ruby on Rails.

I vytvořit databázi pro odpovědi. Pokud existují zprávy v mé databáze to odpovídá, jinak odpověď jako „Sorry nebyl nalezen.“

  ....
  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
  ....

Chci přidat regex zápas podobné podmínky. Takhle: Pokud zpráva obsahuje „tento“ slovo. odpoví „to“.

Jak to mohu udělat?

Položena 13/06/2017 v 15:12
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Nejsem si jistý, jestli jsem si to, co je váš záměr, ale můžete buď použít gsubmetodu dokumenty , chcete-li nahradit výskyty daných vzorů v odpovědích.

Nebo jednoduše použít podmíněné příkazy, aby odpovídaly dané regexs jako:

  if /this/.match(message.reply)
     reply = 'that'
Odpovězeno 13/06/2017 v 15:24
zdroj uživatelem

hlasů
1

Můžete použít podřetězec indexování:

definite_article = message.reply['this'] ? 'that' : 'this'
Odpovězeno 13/06/2017 v 15:26
zdroj uživatelem

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