Я пытаюсь изучить ocaml прямо сейчас и хотел начать с небольшой программы, генерирующей все битовые комбинации:
[ "0", "0", "0"]
[ "0", "0", "1"]
[ "0", "1", "0"]
... и так далее
Моя идея заключается в следующем коде:
let rec bitstr length list =
if length = 0 then
list
else begin
bitstr (length-1)("0"::list);
bitstr (length-1)("1"::list);
end;;
Но я получаю следующую ошибку:
Warning S: this expression should have type unit.
val bitstr : int -> string list -> string list = <fun>
# bitstr 3 [];;
- : string list = ["1"; "1"; "1"]
Я не понял, что поменять, можешь мне помочь?
С наилучшими пожеланиями
Philipp