11. Các hàm xử lý danh sách

đăng 02:14, 12 thg 10, 2011 bởi Nhân Phạm Hồng   [ cập nhật 18:30, 12 thg 10, 2011 bởi Lisp Việt ]

a. Hàm
(quote ...) hoặc ‘(...)

CHỨC NĂNG: Trả ra 1 biểu thức, kiểu là kiểu của biểu thức

CÚ PHÁP:

(quote expr) hoặc (expr)

GIẢI THÍCH:

expr: Biểu thức. Nếu biểu thức là số có thể tạo danh sách điểm, nếu là biến mặc dù đã gán giá trị bằng số cũng không tạo được danh sách điểm


b. Hàm (list ...)

CHỨC NĂNG: Tạo ra một danh sách

CÚ PHÁP:

(list expr)

GIẢI THÍCH:

expr: Biểu thức, ít nhất có một tham số. Biểu thức là bién hay là số cũng tạo được danh sách điểm


c. Hàm (car ...)

CHỨC NĂNG: Hoàn trả phần đầu tiên của danh sách. Kết quả là một giá trị, kiểu là kiểu của thành phần đó.

CÚ PHÁP:

(car list)

GIẢI THÍCH:

list: Là một danh sách


d. Hàm (cadr ...)

CHỨC NĂNG: Hoàn trả phần phần tử thứ 2 của danh sách. Kết quả là một giá trị, kiểu là kiểu của thành phần đó.

CÚ PHÁP:

(cadr list)


e. Hàm (caddr ...)

CHỨC NĂNG: Hoàn trả phần phần tử thứ 3 của danh sách. Kết quả là một giá trị, kiểu là kiểu của thành phần đó.

CÚ PHÁP:

(caddr list)


f. Hàm (last ...)

CHỨC NĂNG: Hoàn trả phần phần tử cuối cùng của danh sách. Kết quả là một giá trị, kiểu là kiểu của thành phần đó.

CÚ PHÁP:

(last list)


g. Hàm (nth ...)

CHỨC NĂNG: Hoàn trả phần phần tử thứ int của danh sách. Kết quả là một giá trị, kiểu là kiểu của thành phần đó. Thứ tự bắt đầu 0, 1, 2, ...

CÚ PHÁP:

(nth int list)

GIẢI THÍCH:

int: Là thứ tự  của phần tử cần lấy giá trị

list: Là một danh sách


h. Hàm (cdr ...)

CHỨC NĂNG: Hoàn trả danh sách không có phần tử đầu

CÚ PHÁP:

(cdr list)


i. Hàm (reverse ...)

CHỨC NĂNG: Hoàn trả danh sách ngược với danh sách ban đầu

CÚ PHÁP:

(reverse list)

 


k. Hàm (length ...)

CHỨC NĂNG: Hoàn trả số thành phần trong danh sách

CÚ PHÁP:

(length list)


m. Hàm (append ...)

CHỨC NĂNG: Gộp các danh sách thành phần thành một danh sách đơn

CÚ PHÁP:

(append list1 list2 ...)


n. Hàm (member ...)

CHỨC NĂNG: Tạo một danh sách mới từ một danh sách đã có theo một thành viên cho trước, danh sách mới được tạo ra có các thành viên là cách thành viên của danh sách gốc bắt đầu từ thành viên expr cho đến thành viên cuối

CÚ PHÁP: (member expr list)

GIẢI THÍCH:

expr: Là một trong các phần tử của một danh sách

list: Là một danh sách gốc


o. Hàm (assoc ...)

CHỨC NĂNG: Trả vè một danh sách con trong danh sách phức hợp

CÚ PHÁP:

(assoc item alist)

GIẢI THÍCH:

item: Là phần tử đầu tiên của danh sách con trả về, nếu không tìm thấy danh sách con nào chứa phần tử đầu tiên là item, hàm sẽ trả giá trị nil

alist: Phải là một danh sách phức hợp

VÍ DỤ:

(setq alist ‘((1 “ONE”) (2 “TWO”) (3 “THREE”)))

 

(assoc 1 alist) --->(1 “ONE”)

(assoc 2 alist) --->(2 “TWO”)


p. Hàm (subst ...)

CHỨC NĂNG: Thay thế các thành viên của một danh sách

CÚ PHÁP:

(subst newitem olditem list)

GIẢI THÍCH:

newitem: Là thành viên mới

oldwitem: Là thành viên cũ

list: Danh sách gốc

VÍ DỤ:

(setq alist ‘((1 “ONE”) (2 “TWO”) (3 “THREE”)))

Comments