2011-02-11 9 views
6

मैं निर्देशांक (एक बिसात की तरह) के एक मैट्रिक्स बनाने के लिए एक छोटे से कोड बनाया में प्रकट होता है, यह निम्न है यह अच्छी तरह से चला गया, लेकिन जब मैं मैट्रिक्स के आयामों वृद्धि, मैट्रिक्स के अंत में "डॉट्स" incrementing एक समन्वय इस तरह के रूप में के रूप में आयाम बढ़ जाता है, प्रकट करने के लिए शुरू करते हैं:क्यों "..." Prolog में मैट्रिक्स के मेरा उत्तर

?- createMatrix(1,1,R). 
R = [[[0, 0], [0, 1]], [[1, 0], [1, 1]]] . 

?- createMatrix(2,1,R). 
R = [[[0, 0], [0, 1], [0, 2]], [[1, 0], [1, 1], [1, 2]]] . 

?- createMatrix(2,2,R). 
R = [[[0, 0], [0, 1], [0, 2]], [[1, 0], [1, 1], [1, 2]], [[2, 0], [2, 1], [2, 2]]] . 

?- createMatrix(3,2,R). 
R = [[[0, 0], [0, 1], [0, 2], [0, 3]], [[1, 0], [1, 1], [1, 2], [1, 3]], [[2, 0], [2, 1], [2, 2], [2, 3]]] . 

?- createMatrix(3,3,R). 
R = [[[0, 0], [0, 1], [0, 2], [0, 3]], [[1, 0], [1, 1], [1, 2], [1, 3]], [[2, 0], [2, 1], [2, 2], [2, 3]], [[3, 0], [3, 1], [3, 2], [3|...]]] . 

?- createMatrix(4,3,R). 
R = [[[0, 0], [0, 1], [0, 2], [0, 3], [0, 4]], [[1, 0], [1, 1], [1, 2], [1, 3], [1, 4]], [[2, 0], [2, 1], [2, 2], [2, 3], [2|...]], [[3, 0], [3, 1], [3, 2], [3|...], [...|...]]] . 

?- createMatrix(4,4,R). 
R = [[[0, 0], [0, 1], [0, 2], [0, 3], [0, 4]], [[1, 0], [1, 1], [1, 2], [1, 3], [1, 4]], [[2, 0], [2, 1], [2, 2], [2, 3], [2|...]], [[3, 0], [3, 1], [3, 2], [3|...], [...|...]], [[4, 0], [4, 1], [4|...], [...|...]|...]] . 

कोई भी किसी भी सुराग है ऐसा क्यूँ होता है?

धन्यवाद!

+0

नीचे झूठी द्वारा जवाब आप "उच्चस्तरीय" Prolog प्रश्नों द्वारा एक डिफ़ॉल्ट प्रदर्शन में दीर्घवृत्त (...) का पूरी तरह से स्पष्टीकरण देता है कि अनबाउंड चर शामिल हैं। आपके प्रश्न से पता चलता है कि सूचियों की सूची एक 2 डी सरणी "एक शतरंज की तरह" का प्रतिनिधित्व करना है। यदि ऐसा है, तो आपको कस्टम डिस्प्ले भविष्यवाणी लिखना उपयोगी लगेगा। इलिप्सिस (...) दिखाई नहीं देगी यदि आप प्रोलॉग शब्द प्रदर्शित करने के लिए ** लिखने/1 ** का उपयोग करते हैं, और सूचियों को अलग-अलग सूची के साथ अलग करके शतरंज जैसी उपस्थिति हासिल की जा सकती है। – hardmath

उत्तर

7

डिफ़ॉल्ट रूप से, SWI की उच्चस्तरीय पाश गहराई से 10 गहरे भागों से ... आपको लगता है कि गहराई बढ़ाने या 0.


?- length(L,10). 
L = [_G317, _G320, _G323, _G326, _G329, _G332, _G335, _G338, _G341|...]. 

?- current_prolog_flag(toplevel_print_options,V). 
V = [quoted(true), portray(true), max_depth(10), spacing(next_argument)]. 

?- set_prolog_flag(toplevel_print_options, [quoted(true), portray(true), max_depth(0), spacing(next_argument)]). 
true. 

?- length(L,10). 
L = [_G320, _G323, _G326, _G329, _G332, _G335, _G338, _G341, _G344, _G347]. 

को गहराई की स्थापना करके उस सीमा को हटा सकते हैं बदल दिया जाता है अप करने के लिए शर्तों प्रिंट — अद्यतन: SWI के नए संस्करण में, एक और झंडा परिवर्तित किया जाना चाहिए:

?- current_prolog_flag(T,V), atom_concat(_,options,T). 
T = answer_write_options, 
V = [quoted(true), portray(true), max_depth(10), spacing(next_argument)] . 

?- set_prolog_flag(answer_write_options, [quoted(true), portray(true), max_depth(0), spacing(next_argument)]). 
true. 
संबंधित मुद्दे