ความอิ่มอกอิ่มใจ - ขั้นตอน

โพรซีเดอร์คือกลุ่มของโค้ดที่ใช้ซ้ำได้ซึ่งสามารถเรียกใช้ได้จากทุกที่ในโปรแกรมของคุณ ทำให้ไม่ต้องเขียนโค้ดเดิมซ้ำแล้วซ้ำเล่า สิ่งนี้ช่วยให้โปรแกรมเมอร์เขียนโค้ดโมดูลาร์

เช่นเดียวกับภาษาการเขียนโปรแกรมขั้นสูงอื่น ๆ 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.