Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
hungpx2008

Ý nghĩa của mã lệnh lisp

Các bài được khuyến nghị

Mình mới tiếp cận với lisp tuần trước. Cho mình hỏi ý nghĩa của cái code này cái. bác nào rảnh thì giúp nhé: (setq th (cdr (assoc 40 (tblsearch "style" stylebk)))

n 0

vậy thôi. thanks

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình mới tiếp cận với lisp tuần trước. Cho mình hỏi ý nghĩa của cái code này cái. bác nào rảnh thì giúp nhé: (setq th (cdr (assoc 40 (tblsearch "style" stylebk)))

n 0

vậy thôi. thanks

 

Mã lisp của bạn sai cú pháp (thiếu 1 dấu ngoặc đơn và 2 dấu ngoặc kép).

Chính xác như sau:

 

(setq th (cdr (assoc 40 (tblsearch "style" "stylebk"))))

 

Ý nghĩa:

Lấy thông số Height của TextStyle có tên là stylebk và gán cho biến th. Nếu kiểu stylebk không tồn tại, th = nil

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

:unsure:

Mã lisp của bạn sai cú pháp (thiếu 1 dấu ngoặc đơn và 2 dấu ngoặc kép).

Chính xác như sau:

 

(setq th (cdr (assoc 40 (tblsearch "style" "stylebk"))))

 

Ý nghĩa:

Lấy thông số Height của TextStyle có tên là stylebk và gán cho biến th. Nếu kiểu stylebk không tồn tại, th = nil

THANK PÁC, MÌNH VẪN CHƯA HIỂU ASSOC 40 LÀ GÌ NHỈ. :unsure: :unsure:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
:unsure:

THANK PÁC, MÌNH VẪN CHƯA HIỂU ASSOC 40 LÀ GÌ NHỈ. :unsure: :unsure:

Copy từ help:

 

(assoc element alist)

Searches an association list for an element and returns that association list entry

 

element: Key of an element in an association list.

 

alist: An association list to be searched.

 

Return Values:

The alist entry, if successful. If assoc does not find element as a key in alist, it returns nil.

 

Examples:

 

Command: (setq al '((name box) (width 3) (size 4.7263) (depth 5)))

 

((NAME BOX) (WIDTH 3) (SIZE 4.7263) (DEPTH 5))

 

Command: (assoc 'size al)

 

(SIZE 4.7263)

 

Command: (assoc 'weight al)

 

nil

 

 

Diễn nôm: tách lấy một thành phần trong danh sách liên hợp.

Do you understand?

 

Giải thích cái này nó sẽ... lòi ra cái khác! Để hiểu sâu sắc và triệt để, bạn cần chuẩn bị các kiến thức có liên quan về:

- list: danh sách, là kiểu dữ liệu rất cơ bản của lisp

- entity: thực thể (cũng có thể gọi là object)

- selection set (ss): tập hợp thực thể

- symbol table objects: các bảng mô tả

- dxf code: mã đối tượng

 

Một ví dụ đơn giản để bạn tự kiểm tra kiến thức:

Có 1 circle trên bản vẽ, bạn viết trình lisp sao cho khi người dùng select vào sẽ nhận được toàn bộ các thông tin về nó: toạ độ tâm, bán kính, layer, màu sắc.... . Gợi ý: dùng hàm entget

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×