У меня есть программа, которая перебирает строку и выводит dir
каждого символа.Итоговая переменная в OCaml
Я хочу суммировать эти значения dir
в одно дискретное значение, которое я могу распечатать.
Вот мой текущий код:
let word = "(())";;
let dir = function
| '(' -> 1
| ')' -> -1
| _ -> 0;;
let z =
(String.iter (fun (c: char) ->
let d = dir c in
Printf.printf "%d is the direction of %c\n" d c
) word);;
На данный момент, это выводит следующее:
1 is the direction of (
1 is the direction of (
-1 is the direction of)
-1 is the direction of)
Вместо печати эти, я хотел бы, чтобы суммировать 4 значения (1, 1, -1, -1) и распечатать:
The overall direction is 0
Как добиться этого в OCaml?
... так String.fold существует! хорошо знать ;) –