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

Làm cách nào load hàm lisp ở dạng chuỗi

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

Thýờng thì ta viết lisp trong một file text sau ðó dùng hàm load ðể load file ðó lên và thực hiện lệnh trong ðó hoặc có thể ðối với những hàm ðõn giản ta ðánh ngay trên dòng lệnh cad. Ví dụ :

command: (DEFUN C:TTT() (SETQ P '(2 3)) (COMMAND "_.TEXT" P 2 0 "123"))

thì ta sẽ ðýợc lệnh "TTT".

Giả sử tôi nhớ chuỗi sau vào biến st nhý sau (setq st "(DEFUN C:TTT() (SETQ P '(2 3)) (COMMAND "_.TEXT" P 2 0 "123"))")

Thông qua biến st, làm cách nào cho cad hiểu ðýợc tôi muốn gởi ðến một hàm chứ không phải một chuỗi. Mục ðích ðể thực hiện lệnh TTT nhý trên.

Bác nào biết cách chỉ giúp. Xin cám õn

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
Thýờng thì ta viết lisp trong một file text sau ðó dùng hàm load ðể load file ðó lên và thực hiện lệnh trong ðó hoặc có thể ðối với những hàm ðõn giản ta ðánh ngay trên dòng lệnh cad. Ví dụ :

command: (DEFUN C:TTT() (SETQ P '(2 3)) (COMMAND "_.TEXT" P 2 0 "123"))

thì ta sẽ ðýợc lệnh "TTT".

Giả sử tôi nhớ chuỗi sau vào biến st nhý sau (setq st "(DEFUN C:TTT() (SETQ P '(2 3)) (COMMAND "_.TEXT" P 2 0 "123"))")

Thông qua biến st, làm cách nào cho cad hiểu ðýợc tôi muốn gởi ðến một hàm chứ không phải một chuỗi. Mục ðích ðể thực hiện lệnh TTT nhý trên.

Bác nào biết cách chỉ giúp. Xin cám õn

 

Tôi thấy nếu viết như sau thì cad cũng hiểu st là một hàm:

(setq st (DEFUN C:TTT() (SETQ P '(2 3)) (COMMAND "_.TEXT" P 2 0 "123")))

Có phải ý bạn là như vậy không?

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ôi thấy nếu viết nhý sau thì cad cũng hiểu st là một hàm:

(setq st (DEFUN C:TTT() (SETQ P '(2 3)) (COMMAND "_.TEXT" P 2 0 "123")))

Có phải ý bạn là nhý vậy không?

Cám õn bạn nhýng không phải nhý vậy. Do công việc của tôi hay phải xử lý nhiều file cõ bản giống nhau. Ví dụ tôi muốn thêm hay thay ðổi một cái gì ðó thông qua lisp và chỉ dùng một lần rồi thôi. Nếu viết vào một file thì cũng không cần thiết nên tôi thýờng gọi một chýõng trình nhỏ trong ðó có chức nãng soạn thào vãn bản, tôi viết vào ðó và gởi dữ liệu về cho cad dýới dạng text. Và tôi muốn làm sao cho cad hiểu ðýợc là tôi muốn gởi một hàm. Vì tôi nghĩ cad ðọc file lisp cũng dýới dạng những dòng text thôi. Phải có một hàm týõng tự hàm load nhýng ðối số là một chuỗi chứ không phải một file.

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
bạn sử dụng mã lệnh:

(eval (read st))

Đúng rồi! Thế mà tôi nghĩ mãi không ra. Cám ơn bạn rất nhiều.

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  

×