Экранирующие символы ANSI в gprolog

Попытка напечатать полужирный и подчеркнутый текст в прологе, но не может их написать

 write('\033[1mbold\033[0m')

Делает эту (ожидаемую) ошибку:

 syntax error: \ expected in \constant\ sequence

Как правильно это сделать с gprolog ? Может с format ?


person damio    schedule 15.06.2015    source источник


Ответы (1)


write('\33\[1mbold\33\[0m').

То есть восьмеричные escape-последовательности (и шестнадцатеричные, начинающиеся с \x) также должны быть закрыты с помощью \. En revanche начальный ноль не требуется, но возможен. Это никоим образом не относится к GNU, фактически, вероятно, все системы, близкие к ISO Prolog, имеют его.

person false    schedule 15.06.2015