Search code examples
printingprologswi-prolog

How to print this in one line statement in Prolog


How can i print this string in prolog in the best way:

predicate([], L, Id, L2):-
   length(L2, N),
   write('The length '),
   write(Id),
   write(' is '),
   write(N),
   write(' elements.'),
   nl.

Solution

  • In SWI-Prolog, you can use the built-in predicate format/2:

    predicate([], L, Id, L2):-
       length(L2, N),
       format('The length of ~w is ~w elements\n', [Id, N]).