-1
我知道這個問題類似於指定爲重複的問題,但我改變了我的方法,所以對於這種特殊情況的任何幫助將不勝感激。在Haskell中使用show實例插入給定矩陣的輪廓
我想爲每個給定的矩陣創建一個顯示實例,它不僅可視化其內容,還可創建帶有列的輪廓。
到目前爲止我的代碼如下:
instance Show a => Show (Mat a) where
show = unlines . map (unwords . map ((++" |") . show)) . mrows
我得到的輸出是:
1 | 2 | 3 |
4 | 5 | 6 |
我無法執行的是插入線的上方,下方,在兩者之間的矩陣,看起來像下面的例子:
+---+---+---+
| 1 | 2 | 3 |
+---+---+---+
| 4 | 5 | 6 |
+---+---+---+
IMO它的優良的'Show'實例漂亮的打印結果。只是,它應該仍然是有效的Haskell語法。這是[hmatrix](http://hackage.haskell.org/package/hmatrix)的確很好。 – leftaroundabout
由於我是一名Haskell初學者,我不認爲在這一點上使用外部庫會很有用。我主要是想了解事情是如何工作的。你上面的建議意味着我必須用另一個表達式替換unline和unwords,然後定義一個行分隔符? –
@JohnStef,我只在前奏中使用東西。至於我對「unlines」和「unwords」的評論,請忽略它。我的腦海裏有「線條」和「線條」交換。 –