OCaml/Rekurencja i iteracje: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Nie podano opisu zmian
Nie podano opisu zmian
 
Linia 4:
rozwiązać w następujący sposób:
<sourcesyntaxhighlight lang="ocaml">
# let rec loop i =
print_endline "Looping!";
Linia 15:
Looping!
- : unit = ()
</syntaxhighlight>
</source>
 
Funkcje "tail-recursive" to taki przypadek rekurencyjnych funkcji, w których
Linia 33:
Rekurencji ciąg dalszy:
 
<sourcesyntaxhighlight lang="ocaml">
# let rec silnia n =
if n = 0 then 1 else n * silnia (n - 1);;
Linia 42:
else fib (n - 1) + fib (n - 2);;
val fib : int -> int = <fun>
</syntaxhighlight>
</source>
 
Pierwsza funkcja, jak każdy się pewnie domyślił, pozwala obliczyć silnię z n.
Linia 56:
<em>let ... in</em>
 
<sourcesyntaxhighlight lang="ocaml">
# let fib x =
(* Funkcja pomocnicza *)
Linia 85:
- : unit = ()
(* Wyrażenie w pętli "for" musi zwracać typ unit. *)
</syntaxhighlight>
</source>
 
<noinclude>{{nawigacja|OCaml|[[../Funkcje jako wartości/]]|[[../Listy/]]}}</noinclude>