मैं (:: [[a]]
) सूचियों का एक सूची का उपयोग करेंगे, शायद कुछ नए प्रकार के साथ यह सुनिश्चित करें कि कि सभी सूचियों समान लंबाई के हैं संघर्ष।
करने के लिए n
मूल्यों से युक्त एक सूची बनाते हैं, आप replicate :: Int -> a -> [a]
उपयोग कर सकते हैं, इसलिए सूचियों की एक सूची उत्पन्न करने के लिए, तुम बस फिर से सूची को दोहराने होगी ...
grid :: Int -> Int -> a -> [[a]]
grid x y = replicate y . replicate x
यहाँ, a
पैरामीटर आप किसी के साथ सूची तैयार करने के लिए अनुमति देता किसी भी प्रकार का "शून्य" मान। इसका उपयोग इस तरह किया जा सकता है:
> grid 3 3 0
[[0,0,0],[0,0,0],[0,0,0]]
> grid 2 3 False
[[False,False],[False,False],[False,False]]
संपादित करें: इस समन्वय प्रणाली (y, x)
मुझे पता है (मैं (row, column)
में सोच रहा था) का उपयोग करता है। "सामान्य" प्रणाली प्राप्त करने के लिए आप grid
में एक्स और वाई को स्वैप कर सकते हैं।
"जेनरेट" से आपका क्या मतलब है? – vicvicvic
@ चक्रवात: हास्केल में लूप के लिए क्या लगता है? – Gabe
@Gabe: मुझे कुछ कल्पना होगी जैसे http://www.xoltar.org/old_site/2003//sep/09/haskellLoops.html – Cyclone