如何在 Prolog 的一行语句中打印出来

How to print this in one line statement in Prolog

如何以最佳方式在 prolog 中打印此字符串:

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

在 SWI-Prolog 中,您可以使用内置谓词 format/2:

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