How to start Artificial Intelligence – function

บทนำ (Overview)

นอกจากฟังก์ชันที่อยู่ใน “CLISP” เราสามารถสร้างฟังก์ชันขึ้นมาเองได้โดยใช้คำสั่ง “Defun” ซึ่งสามารถทำให้ฟังก์ชันสามารถเขียนได้อย่างสลับซับซ้อนมากขึ้นและไปเป็นตามวัตถุประสงค์

ขั้นตอน (Steps)

  1. การใช้ “defun” มีโครงสร้างดังนี้
    (defun function_name (parameter1 parameter2 parameterN)
    expression1
    expressionN
    )
    function_name: ชื่อ function ต้องไม่ซ้ำกับคำสงวน ซึ่งก็คือชื่อ “function” ที่มีอยู่แล้ว
    parameter: ค่าที่ส่งเข้าไปในฟังก์ชัน สามารถมีได้ไม่จำกัด โดยแยกกันที่เว้นวรรค
    expression: คำสั่งที่จะประมวลผลในฟังก์ชันในการเรียกใช้ เพียงแค่เรียกชื่อฟังก์ชัน และกรอกค่าพารามีเตอร์ที่กำหนด (function_name parameter1 parameter2 parameterN)

    [1]> (defun plus_func (a b) (+ a b))
    PLUS_FUNC
    [2]> (plus_func 1 2)
    3
    
  2. การใช้ “apply” ประกอบด้วยพารามิเตอร์ 2 ตัวดังนี้
    (apply ‘ชื่อฟังก์ชัน ‘parameter_ตามฟังก์ชันที่กำหนด)
    apply: ชื่อฟังก์ชัน
    ‘ชื่อฟังก์ชัน: ทั้งฟังก์ชันที่เกิด “defun” หรือคำสงวนของระบบ
    ‘parameter_ตามฟังก์ชันที่กำหนด: ถ้าฟังก์ชันต้องการพารามิเตอร์ 3 ตัว ก็ต้องใส่ให้ครบ 3 ตัวเป็นต้น

    [1]> (apply '+ '(1 2))
    3
    

    ลองประยุกต์ใช้กับฟังก์ชัน “defun” ดังนี้

    [1]> (defun cal (funcName x) (apply funcName (list x)))
    CAL
    [2]> (defun add5 (x) (+ x 5))
    ADD5
    [3]> (defun minus5 (x) (- x 5))
    MINUS5
    [4]> (cal 'add5 10)
    15
    [5]> (cal 'minus5 10)
    5
    

ใส่ความเห็น