Chuyển đến nội dung
Diễn đàn CADViet
ssg

Hướng dẫn lập trình Lisp

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

bác cho em hỏi cái.Nó thông báo là successfully load rồi mà không hiện nhà01 ở cửa sổ là sao nhỉ.Em làm đúng theo tài liệu là save theo định dạng .lsp và để chế độ encoding la ANSI roài.

  • Vote tăng 2

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ác cho em hỏi cái.Nó thông báo là successfully load rồi mà không hiện nhà01 ở cửa sổ là sao nhỉ.Em làm đúng theo tài liệu là save theo định dạng .lsp và để chế độ encoding la ANSI roài.

Acad báo "successfully loaded" tức là file lisp của bạn đã load thành công, hoàn toàn đúng cú pháp và đã sẵn sàng chờ bạn sử dụng. Muốn chạy thì bạn phải nhập lệnh chứ (lệnh lisp là các ký tự nằm sau dấu 2 chấm của dòng định nghĩa function chính: (defun C:XXXX...). Cụ thể ở đây là gõ lệnh "nha" + Enter.

  • Vote tăng 1

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
Acad báo "successfully loaded" tức là file lisp của bạn đã load thành công, hoàn toàn đúng cú pháp và đã sẵn sàng chờ bạn sử dụng. Muốn chạy thì bạn phải nhập lệnh chứ (lệnh lisp là các ký tự nằm sau dấu 2 chấm của dòng định nghĩa function chính: (defun C:XXXX...). Cụ thể ở đây là gõ lệnh "nha" + Enter.

hi.Em wên.Đoảng quá chưa đọc kỹ.Thấy hay quá là hú mắt vào.Bác chỉ zùm em mấy quyển sách để chiều em đi mua luô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
hi.Em wên.Đoảng quá chưa đọc kỹ.Thấy hay quá là hú mắt vào.Bác chỉ zùm em mấy quyển sách để chiều em đi mua luôn. :)

Sách thì mình không nhớ lắm vì hiện giờ mình chẳng có cuốn sách Lisp nào ngoài cái "Developer Help" của chính Acad. Mình chỉ có nhận xét chung chung là các sách về Cad và Lisp của TS Nguyễn Hứu Lộc (ĐHBK TpHCM) có vẻ dễ tiếp thu hơn những "anh" khác.

Theo quan điểm mình, mỗi tác giả có mỗi cái hay riêng. Bạn mới bắt đầu tiếp cận thì cũng không bận tâm nhiều lắm về việc lựa chọn, vì thật ra cuốn nào cũng đều có những cái cơ bản. Khi bạn đã đạt được trình độ tương đối, tự khắc bạn sẽ biết chọn sách nào hợp với mình.

Ngoài ra, sách dù có viết kỹ thế nào cũng không thể đầy đủ bằng Help của Acad. Và nói chung, phần mềm nào cũng vậy, bạn phải tự đọc đuợc Help của nó thì mới hiểu sâu sắc được. Nếu vốn liếng English còn khiêm tốn thì phải chịu khó thôi, không có cách gì khác.

  • Vote tăng 1

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
Sách thì mình không nhớ lắm vì hiện giờ mình chẳng có cuốn sách Lisp nào ngoài cái "Developer Help" của chính Acad. Mình chỉ có nhận xét chung chung là các sách về Cad và Lisp của TS Nguyễn Hứu Lộc (ĐHBK TpHCM) có vẻ dễ tiếp thu hơn những "anh" khác.

Theo quan điểm mình, mỗi tác giả có mỗi cái hay riêng. Bạn mới bắt đầu tiếp cận thì cũng không bận tâm nhiều lắm về việc lựa chọn, vì thật ra cuốn nào cũng đều có những cái cơ bản. Khi bạn đã đạt được trình độ tương đối, tự khắc bạn sẽ biết chọn sách nào hợp với mình.

Ngoài ra, sách dù có viết kỹ thế nào cũng không thể đầy đủ bằng Help của Acad. Và nói chung, phần mềm nào cũng vậy, bạn phải tự đọc đuợc Help của nó thì mới hiểu sâu sắc được. Nếu vốn liếng English còn khiêm tốn thì phải chịu khó thôi, không có cách gì khác.

Theo quan điểm của mình thì các cuốn sách hay giấu nghề lắm, hãy chịu khó tự mày mò và học lỏm từ bác ssg và bac Hoành nữa là đủ xài rồi

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

em không có nhiều thời gian để học lisp đến cùng...rất tiếc, bọn em sắp có nhiều đồ án mà!

anh có thể nói cho em biết em cần những lệnh nào để phục vụ cho khoa xây dựng của bọn em

merci bcp!:)

  • Vote tăng 1

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
em không có nhiều thời gian để học lisp đến cùng...rất tiếc, bọn em sắp có nhiều đồ án mà!

anh có thể nói cho em biết em cần những lệnh nào để phục vụ cho khoa xây dựng của bọn em

merci bcp!:)

Bạn post bài này ở topic AutoCAD và Excel là không đúng chỗ. Ai cũng tùy tiện như vậy sẽ làm cho diễn đàn càng ngày càng mất tính tổ chức, muốn tham khảo một chuyên đề nào đó sẽ rất khó khăn. Thông cảm bạn là newbie, mình đã move bài của bạn về đây. Mọi thắc mắc về lập trình lisp, bạn hãy nêu ở đây luôn, đừng post bài sai địa chỉ nữa!

Bạn muốn học lisp, hãy bắt đầu từ những cái cơ bản nhất,. Bạn có thể tham khảo bài Relax của mình ở đầu topic này và một số bài cơ bản khác có trên diễn đàn. Nếu cảm thấy bận thì thôi, dính vào cái "món" này mất thời gian lắm đó!

Lisp tự thân nó không có sự phân biệt chuyên ngành. Là lập trình viên, bạn muốn chương trình làm việc gì thì nó sẽ làm đúng việc ấy.

Lisp cũng không có "lệnh" gì cả. Chỉ có lập trình viên sáng tạo ra lệnh mới cho CAD thôi.

  • Vote tăng 1

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

XIn chào các bạn!!!!!!!!!

Mình là người mới. Mình thấy diễn đàn này khá hay...nên mạo muội vào và xin được chỉ giáo nhiều hơn.

Lisp mình biết sơ sơ nên trong quá trình lập trình có nhiều trục trặc, rất mong nhận được hướng dẫn từ các bạn.

Xin gửi lên đây vấn đề mình gặp phải(phải nói là bị bó chiu lâu nay)...

 

sử dụng lệnh "FIX", cụ thể như sau.

 

- có trước một đoạn thẳng.

- dùng lệnh "GETPOINT" lấy được tọa độ điểm đầu(pt1) và điểm cuối(pt2).

- setq x (- (car pt1) (car pt2)).

- setq a (fix x)

 

VD:

Kết quả a = 297. nhưng khi thực hiện ở một bản vẽ khác có lúc nó lại là a = 296. Mặc dù thực tế 2 đoạn thẳng này bằng nhau "297.0000000"

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
sử dụng lệnh "FIX", cụ thể như sau.

- có trước một đoạn thẳng.

- dùng lệnh "GETPOINT" lấy được tọa độ điểm đầu(pt1) và điểm cuối(pt2).

- setq x (- (car pt1) (car pt2)).

- setq a (fix x)

Bạn có thể cho biết code của bạn được không?

 

và nếu có thể, upload file mà thực hiện lệnh bị lỗi?

  • Vote tăng 1

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 có thể cho biết code của bạn được không?

 

và nếu có thể, upload file mà thực hiện lệnh bị lỗi?

 

 

cám ơn bạn nhìu,

đoạn code này rất đơn giản mình cũng nghi là file cad có vấn đề nhưng không biết khắc phục thế nào. mình cũng đã thử dùng nhìu phiên bản cad và trên nhìu máy khác nhau nhưng cũng không thành công.

Rất tiếc hôm nay lên mang mình không chuẩn bị nên không có file để up lên được.Hôm sau mình sẽ gửi lên.

 

tks & regards

  • Like 1

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
XIn chào các bạn!!!!!!!!!

Mình là người mới. Mình thấy diễn đàn này khá hay...nên mạo muội vào và xin được chỉ giáo nhiều hơn.

Lisp mình biết sơ sơ nên trong quá trình lập trình có nhiều trục trặc, rất mong nhận được hướng dẫn từ các bạn.

Xin gửi lên đây vấn đề mình gặp phải(phải nói là bị bó chiu lâu nay)...

 

sử dụng lệnh "FIX", cụ thể như sau.

 

- có trước một đoạn thẳng.

- dùng lệnh "GETPOINT" lấy được tọa độ điểm đầu(pt1) và điểm cuối(pt2).

- setq x (- (car pt1) (car pt2)).

- setq a (fix x)

 

VD:

Kết quả a = 297. nhưng khi thực hiện ở một bản vẽ khác có lúc nó lại là a = 296. Mặc dù thực tế 2 đoạn thẳng này bằng nhau "297.0000000"

 

 

Cái này dùng Getpoint để lấy điểm đầu và điểm cuối của một LINE nên có thể không chính xác nếu việc chọn bắt dính không chính lung tung

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ác ssg có thể up lại cái file hướng dẫn ko. Em vào đường link bác cho nhưng ko tìm thấy file relax nào cả. Cảm ơn nhìu.

I'm sorry! Link cũ died!

Đã up lại link mới ở bài đầu tiên của topic này.

  • Vote tăng 1

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ưa bác SSG và các quý anh khác trên diễn đàn,

Úi giời ơi, sướng quá, thằng hay mót như tôi vớ được cái củ này của bác SSG khéo mà gặm cả đời không hết. Thú thực là tôi cũng có mót được mấy củ khoai giun, xơi cũng tàm tạm nhưng mà nhiều xơ quá, giắt răng muốn chết. Vớ được cái củ này trông mỡ màng ra phết. chưa gặm nhưng mà chắc là ít xơ nhiều nạc. Xem ra cứ dùng đồ nội lại tốt hơn đồ ngoại các bác ạ.

Cám ơn bác SSG nhé, cả các quý anh khác nữa. Xin hứa rằng sẽ cố gặm cho hết cái củ này, hễ gặp cái xơ nào giắt vào răng là nhờ các quý anh gỡ giùm ngay.

Lời khuyên của bác SSG là rất đúng nhưng có lẽ phải ăn cơm Tây vài năm mới hy vọng gỡ được mấy cái xơ hay giắt răng của Tây. (Mà tăm ta tốt bằng ba tăm ngoại. Không tin các quý anh cứ dùng thử mấy cái tăm nhựa của Tây sẽ biết nó kém cái món tăm tre của ta mấy lần)

Hì hì, các quý anh đừng giận nhé. tại cái món cơm Tây này em cũng đi mót mà có nên nó mới càng khó xơi.

Chúc bác SSG và các quý anh luôn khỏe, đẻ được nhiều cái để em mót.

  • Vote tăng 1

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ưa bác SSG và các quý anh khác trên diễn đàn,

Em đã đọc và thử bài hướng dẫn của bác SSG, nhưng em chưa hiểu việc bác phải đưa các hàm (setq oldos (getvar "osmode")); (setvar "osmode" 0) và (setvar "osmode" oldos) vào nhằm mục tiêu gì. Em vẫn hiểu là hàm (setq oldos (getvar "osmode")) là dùng để đặt biến oldos về giá trị mode osnap hiện hành, hàm (setvar "osmode" 0) là để đặt giá trị mode osnap về giá tri 0 và hàm (setvar "osmode" oldos) là để trả giá trị mode osnap về giá trị ban đầu của bản vẽ. Song thực tế khi em bỏ cả ba hàm này đi, lisp vẫn chạy tốt và không thấy có dấu hiệu sai lệch gì. Nhà vẫn đẹp và oai phong lẫm lẫm. Hì

Phải chăng việc này chỉ để ngăn chặn việc truy bắt nhầm các point p1, p2, p3, p4, p5 do giá trị mode osnap hiện hành quá lớn so với kích thước nhà định vẽ.

Nếu không phải vậy thì khi nào nên sử dụng các hàm kể trên, lợi ích của nó ra sao? Kính nhờ bác hoặc quý anh nào hiểu rõ bỏ công giải thích giùm vì cái món này em còn hơi lơ mơ lắm.

Ở bài 4 của bác có hướng dẫn cách sử dụng dialog và menu để làm cho chương trình thân thiện hơn với người sử dụng. Về cái thằng dialog em có biết võ vẽ tí chút nhờ mót được củ autolisp của ông Jeff Sander, song thằng menu thì mù tịt. Bác nếu rảnh có thể hướng dẫn giùm em tí chút về thằng cu này với. Em muốn tìm tài liệu để rõ hơn về nó thì tìm ở đâu? Tiếng Anh thì em mới mót được tí chút mà cái thằng Help của AutoCad nó viết thâm quá, đọc nó cứ như gặm xương vậy, mong bác và các quý anh chỉ giúp.

Kính chúc bác và các quý anh trên diễn đàn luôn mạnh giỏi.

  • Vote giảm 1

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ưa bác SSG và các quý anh khác trên diễn đàn,

Em đã đọc và thử bài hướng dẫn của bác SSG, nhưng em chưa hiểu việc bác phải đưa các hàm (setq oldos (getvar "osmode")); (setvar "osmode" 0) và (setvar "osmode" oldos) vào nhằm mục tiêu gì. Em vẫn hiểu là hàm (setq oldos (getvar "osmode")) là dùng để đặt biến oldos về giá trị mode osnap hiện hành, hàm (setvar "osmode" 0) là để đặt giá trị mode osnap về giá tri 0 và hàm (setvar "osmode" oldos) là để trả giá trị mode osnap về giá trị ban đầu của bản vẽ. Song thực tế khi em bỏ cả ba hàm này đi, lisp vẫn chạy tốt và không thấy có dấu hiệu sai lệch gì. Nhà vẫn đẹp và oai phong lẫm lẫm.

Bạn hiểu đúng bản chất rồi đấy.

 

Đoạn mã này có tác dụng tắt osnap để lisp chạy đúng trong MỌI trường hợp. Không có đoạn mã đó, lisp vẫn chạy, nhưng bị sai trong nhiều trường hợp người sử dụng bật osnap.

  • Vote tăng 2

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ưa bác NguyenHoanh và các quý anh khác trên diễn đàn,

Cám ơn bác NguyenHoanh lắm lắm vì sự tận tình chỉ dạy của bác. Em đã đọc một số topic của bác trên diễn đàn, thấy rất mê, muốn mót lắm, nhưng bị cái vốn IT hơi lùn nên thú thực là hơi tởn. Sợ leo cao thì té nặng nên đành từ từ mót dần. Hy vọng sẽ có cơ hội được thọ giáo bác để thành người có ích cho cộng đồng CadViet.

Bác nghe có máu không? Bốc tí thôi chứ để làm được điều đó thì e rằng cái cách mót như của em có mà đến đời sang tiểu bác nhỉ? Giờ thì do nhiều cái lý nên em chỉ biết cố để mót được những cái hữu ích cho bản thân và tránh không không làm phiền nhiều tới cộng đồng đã là một công đức rồi phải không bác?

Chúc bác và các quý anh khác trên diễn đàn luôn mạnh khỏe.

  • Vote tăng 2
  • Vote giảm 1

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

Các bác pro ơi!

Em mới chập chững bước vào học Lisp được khoảng 1 tuần. Em mong các bác chỉ giáo nhiều. Hiện nay em đang có một vấn đề không giải quyết được mong các bác chỉ giúp. Số là trong một số đoạn lisp em dùng một đoạn chương trình ví dụ như :

(command ".trim"........) hoặc (command ".offset" (distance A C) ......)

khi appload vào trong cad để dùng thì cứ chạy đến đoạn này thì nó lại dừng lại bắt phải chọn đối tượng (Select objects:). Em đã dùng đủ cách rồi mà vẫn không làm cho nó tự chọn được đối tượng.

Em mong các bác chỉ giáo giúp, làm thế nào để nó có thể tự chọn được đối tượng mà không bắt người sử dụng phải chọn đối tượng.

Em xin cảm ơn các bác 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
Các bác pro ơi!

Em mới chập chững bước vào học Lisp được khoảng 1 tuần. Em mong các bác chỉ giáo nhiều. Hiện nay em đang có một vấn đề không giải quyết được mong các bác chỉ giúp. Số là trong một số đoạn lisp em dùng một đoạn chương trình ví dụ như :

(command ".trim"........) hoặc (command ".offset" (distance A C) ......)

khi appload vào trong cad để dùng thì cứ chạy đến đoạn này thì nó lại dừng lại bắt phải chọn đối tượng (Select objects:). Em đã dùng đủ cách rồi mà vẫn không làm cho nó tự chọn được đối tượng.

Em mong các bác chỉ giáo giúp, làm thế nào để nó có thể tự chọn được đối tượng mà không bắt người sử dụng phải chọn đối tượng.

Em xin cảm ơn các bác nhiều.

 

Tự chọn đối tượng là sao bạn???

Bạn có định hướng là nó sẽ chọn đối tượng nào không???

  • Vote tăng 1

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
Các bác pro ơi!

Em mới chập chững bước vào học Lisp được khoảng 1 tuần. Em mong các bác chỉ giáo nhiều. Hiện nay em đang có một vấn đề không giải quyết được mong các bác chỉ giúp. Số là trong một số đoạn lisp em dùng một đoạn chương trình ví dụ như :

(command ".trim"........) hoặc (command ".offset" (distance A C) ......)

khi appload vào trong cad để dùng thì cứ chạy đến đoạn này thì nó lại dừng lại bắt phải chọn đối tượng (Select objects:). Em đã dùng đủ cách rồi mà vẫn không làm cho nó tự chọn được đối tượng.

Em mong các bác chỉ giáo giúp, làm thế nào để nó có thể tự chọn được đối tượng mà không bắt người sử dụng phải chọn đối tượng.

Em xin cảm ơn các bác nhiều.

Khi dùng (command "xxxx" ...), bạn phải cung cấp đủ và đúng kiểu các đối số cần thiết y như khi user nhập lệnh trực tiếp. Nếu không, Acad có 1 trong 2 cách hành xử:

1- Báo lỗi và thoát lệnh lisp đang chạy

2- Yêu cầu người dùng nhập cho đủ

Xét về logic, giả sử có tính năng "tự chọn" như bạn nói thì khi chạy chương trình, nó "thích" chọn đối tượng nào để thực thi lệnh cũng được à? Thật ra thì có thể lập trình như vậy nếu bạn muốn, chỉ e rằng các đối tượng được chọn không đúng ý của bạn lẫn của user!

Tóm lại, không có chuyện "tự chọn" đối tượng. Hoặc là bạn chọn, hoặc là user chọn.

Nếu cần, bạn hãy post lên 1 bản vẽ *.dwg làm ví dụ và nêu rõ bạn muốn chương trình làm những việc gì, mọi người mới có thể giúp bạn được.

  • Vote tăng 1

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

Em cảm ơn bác.

Bây giờ trong file .dwg của em chỉ chứa một đoạn thẳng. Ý của em là muốn dùng lệnh offset để tạo thêm một đoạn thẳng nữa nhưng chương trình sẽ tự chọn đoạn thằng đã có sẵn kia mà ko bắt người sử dụng phải chọn nó, tức là lệnh offset sẽ chạy một mạch mà ko yêu cầu người sử dụng phải động chân động tay thêm.

Mong các bác giúp đỡ.

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
Em cảm ơn bác.

Bây giờ trong file .dwg của em chỉ chứa một đoạn thẳng. Ý của em là muốn dùng lệnh offset để tạo thêm một đoạn thẳng nữa nhưng chương trình sẽ tự chọn đoạn thằng đã có sẵn kia mà ko bắt người sử dụng phải chọn nó, tức là lệnh offset sẽ chạy một mạch mà ko yêu cầu người sử dụng phải động chân động tay thêm.

Mong các bác giúp đỡ.

Lệnh AO -> lisp sẽ chạy "một mạch". Còn việc có đúng ý user hay không thì người lập trình không chịu trách nhiệm!

(defun C:AO( / ss e);;;AutoOffset!
(setq
ss (ssget "X" '((0 . "LINE")))
e (ssname ss 0)
)
(command "offset" 10 e (list 0 0 0) "")
)

  • Vote tăng 1

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
Lệnh AO -> lisp sẽ chạy "một mạch". Còn việc có đúng ý user hay không thì người lập trình không chịu trách nhiệm!

(defun C:AO( / ss e);;;AutoOffset!
(setq
ss (ssget "X" '((0 . "LINE")))
e (ssname ss 0)
)
(command "offset" 10 e (list 0 0 0) "")
)

Bác SSg làm thế này là hại người ta rồi còn gì nữa :rolleyes: :gun:

Người ta chưa hiểu biết nhiều mà bác cho người ta một công cụ "chạy một mạch mà không cần động tay động chân" (chắc hắn cũng không hiểu công cụ đó chạy một mạch như thế nào :lol: ) vừa làm cho họ ...lười lao động, vừa làm cho họ ...lười suy nghĩ.

@ tulipden87:

Không có một lisp nào chạy một mạch mà không cần động chân động tay đâu. Chí ít ra là bạn cũng phải ...động não xem nó sẽ làm gì, làm như thế nào chứ

Lisp thực ra cũng chỉ làm thay cho bạn những động tác mà bạn phải click, type, di chuột, ... còn thuật toán của lisp chính là suy nghĩ, tính toán của bạn để giải quyết 1 vấn đề. Nếu bạn lười động tay động chân (ví dụ vậy :gun: ) thì lisp của bạn viết ra cũng không thể làm việc "chăm chỉ" thay bạn được.

Ý mình là nếu bạn "động tay động chân, động não" nhiều, bạn sẽ có được nhiều kinh nghiệm, nhiều cách tư duy mới, sáng tạo và từ đó mới có được những thuật toán lisp "chạy một mạch" không cần động tay động chân được :gun:

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ác SSg làm thế này là hại người ta rồi còn gì nữa <_< :rolleyes:

Người ta chưa hiểu biết nhiều mà bác cho người ta một công cụ "chạy một mạch mà không cần động tay động chân" (chắc hắn cũng không hiểu công cụ đó chạy một mạch như thế nào :lol: ) vừa làm cho họ ...lười lao động, vừa làm cho họ ...lười suy nghĩ.

@ tulipden87:

Không có một lisp nào chạy một mạch mà không cần động chân động tay đâu. Chí ít ra là bạn cũng phải ...động não xem nó sẽ làm gì, làm như thế nào chứ

Lisp thực ra cũng chỉ làm thay cho bạn những động tác mà bạn phải click, type, di chuột, ... còn thuật toán của lisp chính là suy nghĩ, tính toán của bạn để giải quyết 1 vấn đề. Nếu bạn lười động tay động chân (ví dụ vậy :gun: ) thì lisp của bạn viết ra cũng không thể làm việc "chăm chỉ" thay bạn được.

Ý mình là nếu bạn "động tay động chân, động não" nhiều, bạn sẽ có được nhiều kinh nghiệm, nhiều cách tư duy mới, sáng tạo và từ đó mới có được những thuật toán lisp "chạy một mạch" không cần động tay động chân được :gun:

 

Ssg cũng có cùng quan điểm với bạn, nhưng bạn cho rằng ssg "hại người ta" có lẽ không xác đáng.

Bạn đọc lại bài trả lời trước của ssg sẽ thấy:

 

Xét về logic, giả sử có tính năng "tự chọn" như bạn nói thì khi chạy chương trình, nó "thích" chọn đối tượng nào để thực thi lệnh cũng được à? Thật ra thì có thể lập trình như vậy nếu bạn muốn, chỉ e rằng các đối tượng được chọn không đúng ý của bạn lẫn của user!

Tóm lại, không có chuyện "tự chọn" đối tượng. Hoặc là bạn chọn, hoặc là user chọn.

 

Đã nói vậy, nhưng có thể bạn tulip chưa hiểu nhiều về lisp và vẫn chưa thông. Đoạn lisp mình post là một ví dụ phản diện, ai chạy lisp trên cũng thấy rõ cái bất hợp lý của nó và tự khắc sẽ hiểu ra vấ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

chào các bác!

em muốn hỏi dùng lisp để vẽ hình chữ nhật có bo tròn các đỉnh thì viết thế nào?

em nghĩ mãi nhưng chưa viết dc

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

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

×