2 Phép so khớp

Một phần của tài liệu TÀI LIỆU CÁC KIỂU DỮ LIỆU (Trang 43)

-M ột hàm có thể định nghĩa bằng nhiều biểu thức vê phải khác nhau

- Cú pháp tổng qu át:

<pattem> = <expression>, <condition>

- Ví dụ : tính dãy Fibonacci fib 0 = 0

fib 1 = 1

Ví d ụ : tính độ dài chuỗi Length [] = 0 length (a : L) = 1 + (length L) - Ví d ụ : tính tổng của mảng sum [] = 0 sum [a : X] = a + sum X - Ví dụ : tính tích của mảng product [] = 1 product [a : X] = a * product X

8.3. Phương pháp currying (tham đối hoá từng phần - partialparameterization) parameterization)

- Cho hàm n biến : f(xl, x2,..., xn)

- Có thể viết l ạ i :

x l—>(x2-->...(xn—>f(xl..xn))...))

-M ột hàm nhiều hơn 1 tham đối thì có thể tham đối hoá từng phần

triple x = 3 * x h o ặ c triple = multi 3

- Các ngôn ngữ hàm thường không sử dụng định kiểu

- Cho phép định nghĩa các hàm đa kiểu với lời gọi có các tham đối có các kiểu dữ liệu khác nhau

4 Có 3 loại kiểu nguyên thủy đó là: kiểu số; kiểu bool và kiểu kí tự

Kiểu sô :gồm có kiểu sô nguyên và kiểu sô thực.

Kiểu bool: có 2 giá trị là True và False;

Kiểu kí tự: gồm các kí tự trong ASCII.Các kí tự được đặt ưong dấu ngoặc đơn

- V í dụ

pair X y = [x, y]

- Sử dụng

pair 1 2 —> [1, 2]

pair true false —> [true, false]

8.5. Tính hàm theo kiểu khôn ngoan

- Thông thường khi tính giá trị một hàm, các thamđôi được tính giá trị ưước —> tính giá trị của hàm mult (fac 3) (fac 4) —> mul 6 24 --> 144

- Rút gọn biểu thức —> đơn giản hơn : rút gọn theo thứ tự áp dụng mult (fac 3) (fac 4) —> (fac 3) * (fac 4)

Một phần của tài liệu TÀI LIỆU CÁC KIỂU DỮ LIỆU (Trang 43)

Tải bản đầy đủ (PDF)

(66 trang)