OCaml/Krotki
Z Wikibooks, biblioteki wolnych podręczników.
< OCaml
Krotki (ang. tuples) to typ danych, który składa się z kilku elementów o tym samym lub różnym typie. Są to odpowiednio pary, trójki, czwórki etc. Do oddzielenia ich poszczególnych elementów używane są przecinki (w przeciwieństwie do średników używanych w listach). Dla zwiększenia czytelności często otacza się je nawiasami. W opisie typów pojawia się zamiast przecinka symbol gwiazdki '*'.
Mogą być używane do zwracania dwóch zmiennych przez funkcje, do definiowania list par elementów i w wielu innych zastosowaniach. Przykładowo:
# let func a = (a, "tekst");; val func : 'a -> 'a * string = <fun> (* Funkcja przyjmuje dowolny parametr; zwraca krotkę. *) # func 5;; - : int * string = (5, "tekst") # let one, two = func "inny";; val one : string = "inny" val two : string = "tekst" # (4, 5.0) :: (10, 12.32) :: [];; - : (int * float) list = [(4, 5.); (10, 12.32)]
Warto zauważyć, że w przeciwieństwie do list, w krotkach do oddzielenia kolejnych wyrażeń używa się przecinka (a nie średnika). Kod:
# [1, 2, 3, 4];; - : (int * int * int * int) list = [(1, 2, 3, 4)]
Jak widać nie tworzy listy liczb, ale listę zawierającą krotki czterech liczb.