Define Functions
ทุกฟังก์ชั่นที่เราสร้าง
กำหนดไว้ให้เริ่มต้นด้วยการประกาศ ฟังก์ชั่น ด้วย defun เสมอ เช่น (defun myProg () หรือ (defun
C:myProg () ทั้งสองแบบ มีความแตกต่างระหว่างการใช้ C: และไม่ได้ใช้ C:
นำหน้าชื่อโปรแกรมของเรา ซึ่งจะมีความต่างกัน เวลาเรียกใช้งาน แต่ตอนนี้
มารู้จักอีกฟังก์ชั่นการใช้ AutoLISP ในโปรแกรมแรกของเรา myProg ก็คือฟังก์ชั่น princ
เพียงพิมพ์คำสั่ง (princ "AutoLISP") ที่ Command : (princ " AutoLISP ")
แล้ว Enter จะได้ผลลัพธ์ AutoLISP ออกมา
ทีนี้เรามาลองใส่ Command: (defun myProg () (princ
"AutoLISP")) และกด
Enterโปรแกรมจะแสดงชื่อฟังก์ชั่น (ชื่อโปรแกรม)
ของเราเอง MYPROG ตอนนี้ ฟังก์ชั่นของเราพร้อมแล้วลองเรียกใช้ฟังก์ชั่นของเราที่ Command: (myprog)โปรแกรมจะประมวลผลและพิมพ์ AutoLISP จากนั้น
โปรแกรมสะท้อนคำสั่งสุดท้าย "AutoLISP" เสมอเรียกว่าเอคโค่
echo นั่นคือสาเหตุที่ทำให้ออกมาเป็น AutoLISP "AutoLISP" วิธีการที่จะกำจัด echo
คือการใช้
princ
เป็นคำสั่งสุดท้ายในโปรแกรมของเรา เราลองเขียน (princ) เพิ่มในโปรแกรม เป็นฟังก์ชั่นที่จะกำจัด
echo ออกไปดังนี้
Command:
(defun myProg () (princ "AutoLISP") (princ))
แล้วก็เรียกใช้โปรแกรมของเรา (myprog) และกด Enter
*
ผลปรากฏว่า echo
หายไปแล้ว ในบางทีเราอาจจะพบคำว่า nil แทนในโปรแกรมอื่นๆ
มันเป็น echo เหมือนกัน *
เจ้า
C:
ที่เราได้กล่าวถึงก่อนหน้านี้ เจ้าตัวนี้ C: จะบอกให้เจ้า AutoCAD ให้พร้อมรับคำสั่งและทำซ้ำโปรแกรมของเรา เราลองใส่ C: เพิ่มเข้าไปจากตัวอย่างที่แล้วเป็น
Command:
(defun C:myProg () (princ "\n
Autolisp") (princ))
แล้วเราลองเรียกใช้งานดูทั้งแบบ
(myprog)
และ (c:myprog) และลอง myprog ด้วย
จะเห็นได้ว่าถ้าเราใส่
C:
นำหน้าเราสามารถเรียกใช้จากชื่อได้โดยตรงไม่ต้องมีวงเล็บเปิดและปิดหน้าหลังเลยทำให้เราสะดวกในการเรียกใช้งาน