Как преобразовать вход из L в [H | T] в прологе? - PullRequest
0 голосов
/ 05 мая 2018

скажите, если мне нужно создать функцию в прологе: DoSomething (L). как я могу превратить это во что-то, что делает то же самое, что и: dosomething ([H | T]), где L = [H | T], чтобы я мог разделить список?

1 Ответ

0 голосов
/ 06 мая 2018

Вы можете объединить L с [H|T]:

dosomething(L) :- L = [H|T], ...

, что совпадает с:

dosomething([H|T]) :- ...

Только если L равен [] (или не является списком), он не может объединиться с [H|T]:

?- [H|T] = [].
false.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...