2500336105

2500336105



Listy leniwe (2)

Funkcja lf rom generuje ciąg rosnących liczb całkowitych zaczynający się od k.

# let rec lfrom k = LCons (k, function () -> lfrom (k+1));; val lfrom : int -> int llist = <fun>


Wywołanie Itakę (n, xl) zwraca pierwszych n elementów listy leniwej xl w postaci zwykłej listy.

# let rec Itakę = function

(0,

xq) -> []

1 (n,

LNil) -> []

1 (n,

LCons(x,xf)) -> x:

Itakę(n-1,

xf () )

val Itakę : int * 'a llist

-> 'a list

= <fun>

Np.

# Itakę

(5, lfrom 30);;

- : int

list = [30; 31; 32

33; 34]

Zdzisław Spławski


Programowanie funkcyjr



Wyszukiwarka

Podobne podstrony:
Wykład 5Listy leniwe Listy leniwe Funkcjonały dla list leniwych Przykład: generowanie liczb pierwszy
Listy leniwe (3) Funkcja toLazyList: a list -> a His t ze zwykłej listy tworzy listę leniwą. le
8 (7) 133 Rodziny funkcji jednakowo ciągłych Przypuśćmy, że istnieje ciąg rosnący liczb naturalnych
Funkcjonały dla Ust leniwych — @@ Funkcja (@@) konkatenuje dwie listy leniwe (odpowiednik funkcji @
Image397 Generator funkcji większości Układ generujący funkcję większości (ang. Majority-Vote Circui
skanuj0001 (429) Ą.l. Ciągi liczbowe i ich granice 63 Zatem ciąg (l + ^)n jako ciąg rosnący i ograni
cout«"Ile elementów :    cin »n; cout«"Jaki ciąg: 1-rosnacy, 2-malejacy,
Świetlówka W tej konstrukcji timer NE555 pracuje jako generator astabilny generujący ciąg impulsów o
Listy leniwe (1) Łącząc abstrakcję funkcyjną z abstrakcją danych i wykorzystując fakt, że wyrażenie

więcej podobnych podstron