こんにちは、haskell でマトリックスのフィールド (行、列) をユーザーに定義させる方法を知りたいと思っています。
たとえば、ユーザーはフィールドの値を入力する必要があり、ユーザーはマトリックスを入力する必要があります。ユーザーがフィールドで定義した値よりも多くの値を入力すると、プログラムは例外を表示する必要があります。
(例maxIndex=3 matrix [[1,2,3],[4,3,5],[3,7,8],[5,6,8]] -> Exception:Out of range
)
そのように動作する独自の型を定義しますか?
data Matrix = Matrix [[Int]] Int {-rows-} Int {-columns-}
-- constructor / accessor functions that do bounds checking
リンクされたリストは、行列を表すにはかなりひどいです。実際にそのようなものが必要な場合は、hmatrixなどの既存のパッケージを調べる必要があります。