ความอิ่มอกอิ่มใจ - ขั้นตอน
โพรซีเดอร์คือกลุ่มของโค้ดที่ใช้ซ้ำได้ซึ่งสามารถเรียกใช้ได้จากทุกที่ในโปรแกรมของคุณ ทำให้ไม่ต้องเขียนโค้ดเดิมซ้ำแล้วซ้ำเล่า สิ่งนี้ช่วยให้โปรแกรมเมอร์เขียนโค้ดโมดูลาร์
เช่นเดียวกับภาษาการเขียนโปรแกรมขั้นสูงอื่น ๆ Euphoria ยังสนับสนุนคุณสมบัติทั้งหมดที่จำเป็นในการเขียนโค้ดโมดูลาร์โดยใช้โพรซีเดอร์
คุณต้องเคยเห็นขั้นตอนเช่นprintf ()และlength ()ในบทก่อน ๆ เรากำลังใช้ขั้นตอนเหล่านี้ซ้ำแล้วซ้ำเล่า แต่ถูกเขียนใน core Euphoria เพียงครั้งเดียว
Euphoria ช่วยให้คุณสามารถเขียนขั้นตอนของคุณเองได้เช่นกัน ส่วนนี้จะอธิบายวิธีการเขียนขั้นตอนของคุณเองใน Euphoria
นิยามกระบวนงาน
ก่อนที่คุณจะใช้กระบวนงานคุณต้องกำหนดขั้นตอนนั้น วิธีทั่วไปในการกำหนดโพรซีเดอร์ใน Euphoria คือการใช้ไฟล์procedure คีย์เวิร์ดตามด้วยชื่อโพรซีเดอร์ที่ไม่ซ้ำกันรายการพารามิเตอร์ (ที่อาจว่างเปล่า) และบล็อกคำสั่งที่ลงท้ายด้วย end procedureคำให้การ. ไวยากรณ์พื้นฐานดังแสดงด้านล่าง -
procedure procedurename(parameter-list)
statements
..........
end procedure
ตัวอย่าง
ขั้นตอนง่ายๆที่เรียกว่า sayHello ที่ไม่มีการกำหนดพารามิเตอร์ที่นี่ -
procedure sayHello()
puts(1, "Hello there")
end procedure
เรียกขั้นตอน
ในการเรียกใช้โพรซีเดอร์ที่ใดที่หนึ่งในสคริปต์ในภายหลังคุณต้องเขียนชื่อของโพรซีเดอร์นั้นดังนี้ -
#!/home/euphoria-4.0b2/bin/eui
procedure sayHello()
puts(1, "Hello there")
end procedure
-- Call above defined procedure.
sayHello()
สิ่งนี้ก่อให้เกิดผลลัพธ์ดังต่อไปนี้ -
Hello there
พารามิเตอร์ขั้นตอน
จนถึงตอนนี้คุณได้เห็นขั้นตอนที่ไม่มีพารามิเตอร์ แต่มีสิ่งอำนวยความสะดวกในการส่งผ่านพารามิเตอร์ที่แตกต่างกันในขณะที่เรียกโพรซีเดอร์ พารามิเตอร์ที่ส่งผ่านเหล่านี้สามารถจับได้ภายในโพรซีเดอร์และการจัดการใด ๆ ก็สามารถทำได้ผ่านพารามิเตอร์เหล่านั้น
ขั้นตอนสามารถใช้พารามิเตอร์หลายตัวคั่นด้วยลูกน้ำ
ตัวอย่าง
ให้เราทำการปรับเปลี่ยนเล็กน้อยในขั้นตอนsayHelloของเรา คราวนี้ใช้สองพารามิเตอร์ -
#!/home/euphoria-4.0b2/bin/eui
procedure sayHello(sequence name,atom age)
printf(1, "%s is %d years old.", {name, age})
end procedure
-- Call above defined procedure.
sayHello("zara", 8)
สิ่งนี้ก่อให้เกิดผลลัพธ์ดังต่อไปนี้ -
zara is 8 years old.