OCaml матрица манипуляций - PullRequest
       9

OCaml матрица манипуляций

0 голосов
/ 09 апреля 2020

Я хочу написать функцию OCaml с такой структурой: rows : int list list -> char list -> int list = <fun>. У меня возникли некоторые проблемы, так как я довольно плохо знаком с языком. Программа должна взять каждый список и выполнить операцию, такую ​​как сложение или умножение с его элементами. Например: rows [[1;2;0];[4;5;6];[1;2;9]] [’+’;’-’;’*’];;-: int list = [3;-7;18]

Заранее благодарю за любую помощь.

1 Ответ

0 голосов
/ 09 апреля 2020

Это основная проблема c? Примечание: я оставил важную часть, чтобы вы ответили.

let nums =
  [
    [1;2;0];
    [4;5;6];
    [1;2;9];
  ]

let ops = ['+'; '-'; '*';]

let rec rows l o =
  match (l, o) with
  | ([],[]) -> []
  | (hd::tl, op::tlo) ->
    (
      match hd with
      | [] -> 0::(rows tl tlo)
      | h::t -> (*The important part goes here*)
    )
  | _ -> failwith "Uneven list"

let ans = rows nums ops
...