/ / Je možné nechať užívateľa definovať pole matice v haskell? - haskell, matica, pole

Je možné nechať používateľ definovať pole matice v haskell? - haskell, matica, poľa

Ahoj chlapci, zaujímalo by ma, ako môžem dovoliť používateľovi definovať pole (riadok, stĺpec) matice v haskell.

Napríklad užívateľ by mal zadať hodnotu pre pole a potom by mal zadať maticu. Ak užívateľ zadá viac hodnoty, potom to, čo definoval v poli, by mal program ukázať ako výnimku.

(Napr. maxIndex=3 matrix [[1,2,3],[4,3,5],[3,7,8],[5,6,8]] -> Exception:Out of range)

odpovede:

1 pre odpoveď č. 1

Definovať vlastný typ, ktorý sa takto správa?

data Matrix = Matrix [[Int]] Int {-rows-} Int {-columns-}

-- constructor / accessor functions that do bounds checking

Prepojené zoznamy sú dosť hrozné pre reprezentáciu matíc btw. Ak skutočne niečo také potrebujete, mali by ste sa pozrieť do existujúcich balíkov ako hmatrix.