Đến nội dung


Hình ảnh
- - - - -

Chạy đoạn code lisp chứa trong biến hefp!


  • Please log in to reply
5 replies to this topic

#1 kegiaumat

kegiaumat

    biết vẽ circle

  • Members
  • PipPip
  • 39 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 20 January 2015 - 09:38 PM

Em có một đoạn lisp chứa trong block thuộc tính. Em gán được biến a là string chứa đoạn lisp đó ( ví dụ "(setq chieudai1 100 chieudaib 200)". Các bác cho em hỏi làm sao chạy được đoạn code chứa trong biến đóa. Em xin cảm ơn


  • 0

#2 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 20 January 2015 - 09:46 PM

bạn dùng lệnh

(eval (read "(setq chieudai1 100 chieudaib 200)"))

  • 0

#3 kegiaumat

kegiaumat

    biết vẽ circle

  • Members
  • PipPip
  • 39 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 20 January 2015 - 09:51 PM

ok thank bác (eval (read a))


  • 0

#4 kegiaumat

kegiaumat

    biết vẽ circle

  • Members
  • PipPip
  • 39 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 20 January 2015 - 10:16 PM

bác ơi trong biến a chứa "(setq chieudai1 100) (if ( = chieudai1 100) (setq  chieudai2 1000))" thì hàm eval nó ko chạy nhỉ cái em ví dụ là một đoạn code nhỏ thôi chứ em muốn trong biến a có thể chạy như một đoạn code thông thường hỗ trợ tất cả các hàm trong lsp. ko biết có phương pháp nào thay thế hàm eval ko nhỉ. cảm ơn các bác quan tâm


  • 0

#5 trinhhoanghieu090

trinhhoanghieu090

    Edu level: li8

  • Members
  • PipPipPipPipPip
  • 309 Bài viết
Điểm đánh giá: 29 (tàm tạm)

Đã gửi 20 January 2015 - 10:31 PM

câu trả lời cho câu hỏi của bạn ở trên là...cứ nhét vào trong hàm dùng thôi. Vd (+ chieudai1 chieudai2)
  • 0

#6 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 21 January 2015 - 05:28 AM

bác ơi trong biến a chứa "(setq chieudai1 100) (if ( = chieudai1 100) (setq  chieudai2 1000))" thì hàm eval nó ko chạy nhỉ cái em ví dụ là một đoạn code nhỏ thôi chứ em muốn trong biến a có thể chạy như một đoạn code thông thường hỗ trợ tất cả các hàm trong lsp. ko biết có phương pháp nào thay thế hàm eval ko nhỉ. cảm ơn các bác quan tâm

 

Bạn phải set biến a như thế này : "(PROGN (setq chieudai1 100) (if ( = chieudai1 100) (setq  chieudai2 1000)) )"

Sau đó là (Eval (read a))


  • 0