type 'a lBT = LEmpty | LNode of 'a * (unit -> 'a lBT) * (unit -> 'a lBT);; i tworzę takie drzewo:
let exlBST = LNode(3, function() -> LEmpty, function() -> LEmpty);; Dostaję taki błąd:
Error: The constructor LNode expects 3 argument(s), but is applied here to 2 argument(s) Ktoś wie dlaczego? Unit to nie argument? Dla list leniwych coś takiego:
@Golem_Piotr: dzięki!wystarczy opakować te unity w nawiasy, tak jak to zrobiłeś. Ale odkryłem moduł Lazy i tam o wiele lepiej pattern matching wygląda @erwit: tak jest
type 'a lBT = LEmpty | LNode of 'a * (unit -> 'a lBT) * (unit -> 'a lBT);;
i tworzę takie drzewo:
let exlBST = LNode(3, function() -> LEmpty, function() -> LEmpty);;
Dostaję taki błąd:
Error: The constructor LNode expects 3 argument(s),
but is applied here to 2 argument(s)
Ktoś wie dlaczego? Unit to nie argument? Dla list leniwych coś takiego:
LCons(3, function() -> LNil);;
działało dobrze...
#programowaniefunkcyjne #ocaml #kiciochpyta
Komentarz usunięty przez moderatora
Komentarz usunięty przez autora