1
我想在使用string_concat時在swipl中轉義反斜槓。當在SWIPL中使用string_concatenate時轉義「 =」swi-prolog
場景1-
string_concat('stack', ' overflow', Result).
Result = "stack overflow"
情景2-
string_concat('stack', ' \=overflow', Result).
Syntax error: Undefined character escape in quoted atom or string: `\='
情景3-
string_concat('stack', ' \\=overflow', Result).
Result = "stack \\=overflow"
現在,scenario1按預期運行我遇到了scenario2中解釋的情況,在這裏我需要連接一個包含反斜槓和equalto的字符串。即,string1只有文本,string2的文本中有\ =也在其中,我的結果應該是string1和string2連接。但是,僅僅使用\ =與scenario2中的結果一樣會導致錯誤,要求我跳過序列。現在,如情景3中的轉義給我兩個反斜槓和等號。我不想要兩個反斜槓。
我的輸出應該完全是stack \=overflow
。有沒有我在這裏失蹤的轉義序列或方法?
謝謝!
感謝您的幫助。然而,我看到,當使用string_concat時,我仍然得到2個反斜槓。參見代碼: set_prolog_flag(character_escapes,false),string_concat('stack','\ = overflow',X),writeln(X)。 給出作爲輸出: 堆棧\ =溢出 X =「\\堆棧溢出=」 由於我需要使用在其他地方X在節目中,它不應該; t有所述\\ =,而不是隻應有\ =。對此有何建議?謝謝。 – user1644208