तो मैं हास्केलहास्केल पहले, मध्य अनुभाग मिलान पैटर्न, और पिछले
में एक साधारण स्ट्रिंग रिवर्स समारोह करना चाहता थाswapReverse :: String => String
swapReverse [x] = [x]
swapReverse [x,y] = [y,x]
swapReverse (x:xs:l) = -- pattern match fails here
let last = [l]
middle = xs
first = [x]
in last ++ swapReverse middle ++ first
तो वहाँ Haskell है कि first
और last
में एक पैटर्न संरचना को परिभाषित करने के लिए एक रास्ता है तत्व, और middle
में सभी तत्व?
प्रकार की घोषणा से सावधान रहें :) आप शायद 'swapReverse :: स्ट्रिंग -> स्ट्रिंग', या शायद कुछ और सामान्य सामान्य' swapReverse :: [a] -> [a] 'जैसे थे। –
बीटीडब्लू, एक लिंक्ड सूची का अंतिम तत्व ढूंढना ओ (एन) है। आप लगभग वास्तव में ऐसा नहीं करना चाहते हैं। – hugomg
प्रकार हस्ताक्षर 'स्ट्रिंग -> स्ट्रिंग', बीटीडब्ल्यू – Landei