यह एसडब्ल्यूआई में लगातार समस्या है। डिफ़ॉल्ट रूप से "एबीसी" वर्ण कोड की एक सूची है, इस प्रकार इसे मुद्रित किया गया है:
?- Xs = "abc".
Xs = [97, 98, 99].
क्या इसे आसानी से परिवर्तित किया जा सकता है? कल्पना कीजिए कि आपके पास दूरी की एक सूची थी जो 9 7, 98, और 99 होने के लिए होती है। उस स्थिति में एक स्ट्रिंग उत्तर के रूप में बहुत भ्रामक होगी। इसलिए, आपकी समस्या का कोई साफ समाधान नहीं है, जब तक स्ट्रिंग-नोटेशन का मतलब सूची-चरित्र-चरित्र कोड है!
आप वर्ण जो लंबाई 1 के परमाणुओं की एक सूची के लिए "abc" के अर्थ बदल सकते हैं:
?- set_prolog_flag(double_quotes,chars).
true.
?- Xs = "abc".
Xs = [a, b, c].
आप इससे खुश हैं, तो आप library(double_quotes)
उपयोग कर सकते हैं।
?- use_module(library(double_quotes)).
true.
?- Xs = "abc".
Xs = "abc".
अधिक के लिए, this thread देखें।
(कहा जाना चाहिए .. पहली सूची में स्ट्रिंग्स, दूसरा परमाणु शामिल हैं) – magus