บทนำ (Overview)
ฟังก์ชันวนรอบ (iteration) มีความคล้ายคลึงกับ “recursion” ช่วยให้ไม่ต้องเขียนโปรแกรมซ้ำ ๆ หรือหลายบรรทัด ในบทความนี้นำเสนอฟังก์ชัน “dotimes” และ “dolist” ซึ่งมีลักษณะการใช้งานแตกต่างกันเล็กน้อยขั้นตอน (Steps)
- “dotimes” เป็นฟังก์ชันวนซ้ำ โดยมี 3 พารามิเตอร์สำคัญดังนี้
- a=แสดงจำนวนรอบปัจจุบัน เริ่มจาก 0
- b=จำนวนนอบสิ้นสุด และ
- c=ผลลัพท์สุดสุดท้ายเหมือนค่า “return” ของ “function”
[1](setq b 10) 10 [2](setq c 0) 0 [3](dotimes (a b c) (print a) (setq c (+ 1 c))) 0 1 2 3 4 5 6 7 8 9 10 [4] (print c) 10 10
- “dolist” คล้ายกับ “dotimes” แต่ใช้ “list” แทนในการควบคุมจำนวนรอบ แต่ “dotime” ใช้จำนวนเต็ม
[1]> (setq b '(2 4 6 8)) (2 4 6 8) [2]> (setq c 0) 0 [3]> (dolist (a b c) (print a) (setq c (+ 1 c))) 2 4 6 8 4 [4]> c 4