的名單假設我有以下列出哈斯克爾:推導顯示大元組
[((Int, Int), [[Char]], [[Char]], Bool, Bool, Bool)]
[(Int, Int, [Char], [Char], [Char], [Char], [Char], [Char], [Char], [Char])]
我知道,爲了能夠打印他們,我需要將其定義爲一個新的數據類型,然後進行顯示的一個實例,但有什麼辦法可以避免它?
在此先感謝。
的名單假設我有以下列出哈斯克爾:推導顯示大元組
[((Int, Int), [[Char]], [[Char]], Bool, Bool, Bool)]
[(Int, Int, [Char], [Char], [Char], [Char], [Char], [Char], [Char], [Char])]
我知道,爲了能夠打印他們,我需要將其定義爲一個新的數據類型,然後進行顯示的一個實例,但有什麼辦法可以避免它?
在此先感謝。
讓我們全部更換[Char]
通過String
擺脫一些支架超載:
[((Int, Int), [String], [String], Bool, Bool, Bool)]
[(Int, Int, String, String, String, String, String, String, String, String)]
這些已經可以打印:
Prelude> let x = replicate 2 ((1,2), ["a", "b"], ["c", "d"], True, False, True) :: [((Int,Int), [String], [String], Bool, Bool, Bool)]
Prelude> :type x -- displays the type of x
x :: [((Int, Int), [String], [String], Bool, Bool, Bool)]
Prelude> print x
[((1,2),["a","b"],["c","d"],True,False,True),((1,2),["a","b"],["c","d"],True,False,True)]
和
Prelude> let x = replicate 2 (1,2,"a","b","c","d","e","f","g","h") :: [(Int,Int,String,String,String,String,String,String,String,String)]
Prelude> :type x
x :: [(Int,
Int,
String,
String,
String,
String,
String,
String,
String,
String)]
Prelude> print x
[(1,2,"a","b","c","d","e","f","g","h"),(1,2,"a","b","c","d","e","f","g","h")]
錯誤 - 表達式中的語法錯誤(意外輸入結束) –
@KudayarPirimbaev在哪裏? –
let x = replicate ... –
元組你應該開始使用記錄,否則你會*忘記什麼是什麼。 –
是的,我知道,但由於它是一個任務,它有一些限制 –