2015-12-30 2 views
0

Я пытаюсь понять, как пользователь вводит предложение, а затем делится на Prolog на отдельные слова. Например, пользователь вводит эту фразу: «компьютер состоит из аппаратных средств» Я хочу разделить это предложение: «компьютер», «состоит», «из» и «железа»Как разбить строки в Prolog

Может кто-то пожалуйста, объясните, как пользователь входит в предложение, а затем разбивает его на Prolog?

+1

Пожалуйста, покажите решение вы попытались и возникли проблемы, с которыми вы столкнулись. – lurker

+0

По крайней мере, будьте более конкретны в отношении того, как вы хотите взаимодействовать с программой: как вы это называете? какой результат вы ожидаете? что действительный ввод, а что нет? Это также может помочь выяснить [как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask). –

ответ

1

Если предложение содержится в списке (то есть, [компьютер, состоит, из, аппаратных средств]), то вы можете использовать:

split(L,Result) :- 
    splitacc(L, [], Result). 
splitacc([], Acc, Result) :- 
    Result=Acc. 
splitacc([H|T], Acc, Result) :- 
    append(Acc, [[H]], NewAcc), 
    splitacc(T, NewAcc, Result). 

Например:

?- split([a, computer, consists, hardware],L). 
L = [[a],[computer],[consists],[hardware]] ? 
+0

спасибо, но я хочу знать, как пользователь вводит предложение, затем разбивается с использованием пролога, например, на экране запроса:? - что такое компьютер? Пользователь должен ответить на этот вопрос таким образом: компьютер состоит из аппаратного обеспечения. После того, как пользователь вводит этот ответ, пролог разделяется на [a], [computer], [consist], [of], [hardware]. – student

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

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