/ / Чи можна дозволити користувачеві визначати поле матриці в haskell? - haskell, матриця, поле

Чи можна дозволити користувачеві визначати поле матриці в асинхронному режимі? - haskell, matrix, field

Привіт, хлопці, мені було цікаво, як я можу дозволити користувачеві визначити поле (рядок, стовпець) матриці в haskell.

Наприклад, користувач повинен ввести значення для поля, а потім користувач повинен ввести матрицю. Якщо користувач вводить більше значення, то те, що він визначив у полі, ніж програма, повинно показувати Виняток.

(наприклад, maxIndex=3 matrix [[1,2,3],[4,3,5],[3,7,8],[5,6,8]] -> Exception:Out of range)

Відповіді:

1 для відповіді № 1

Визначте власний тип, який так поводиться?

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

-- constructor / accessor functions that do bounds checking

Пов'язані списки досить жахливі для представлення матриць btw. Якщо вам дійсно потрібно щось подібне, вам слід заглянути в існуючі пакети, як hmatrix.