Lolcode - ฟังก์ชั่น

ฟังก์ชันมีประโยชน์ในการเขียนโปรแกรมเนื่องจากช่วยลดเวลาและความพยายามในการเขียนโค้ดซ้ำแล้วซ้ำอีก รหัสฟังก์ชันที่เขียนอย่างดีมีความสามารถในการใช้ซ้ำได้สูง บทนี้อธิบายวิธีการเขียนและทำงานกับฟังก์ชันใน LOLCODE

ความหมายของฟังก์ชัน

ฟังก์ชันคือชุดของคำสั่งที่ดำเนินการทั้งหมดพร้อมกันโดยเรียกใช้ฟังก์ชันนั้น ใน LOLCODE คำจำกัดความของฟังก์ชันจะเริ่มต้นด้วยคีย์เวิร์ด“ HOW IZ I” และคีย์เวิร์ดปิดคือ“ IF U SAY SO”

ไวยากรณ์สำหรับการเขียนฟังก์ชันใน LOLCODE คือ −

HOW IZ I <function name> [YR <parameter/argument> [AN YR <other _arguments..> …]]
   <code block to execute / Set of statements to execute>
IF U SAY SO

จุดสำคัญ

พิจารณาประเด็นสำคัญต่อไปนี้เมื่อคุณกำหนดฟังก์ชัน LOLCODE -

  • ใน LOLCODE ฟังก์ชันสามารถรับอาร์กิวเมนต์จำนวนหนึ่งที่แน่นอนเป็นอินพุตได้

  • อาร์กิวเมนต์หรือพารามิเตอร์คือตัวระบุที่กลายเป็นตัวแปรของฟังก์ชัน

  • ฟังก์ชันใน LOLCODE ไม่สามารถเข้าถึงค่าอื่น ๆ นอกเหนือจากค่าที่ส่งให้เป็นอาร์กิวเมนต์

การส่งคืนค่าจากฟังก์ชัน

Return in coding หมายถึงสิ่งที่ให้กลับมา ในการเขียนโปรแกรมฟังก์ชันสามารถคืนค่าบางส่วนให้กับโปรแกรมเมื่อการดำเนินการเสร็จสิ้น ใน LOLCODE ฟังก์ชันจะส่งคืนค่าที่แตกต่างกันตามที่อธิบายด้านล่าง -

  • FOUND YR <any_expression> ส่งคืนค่าของนิพจน์เมื่อดำเนินการบล็อกฟังก์ชันอย่างสมบูรณ์

  • GTFO ไม่ส่งคืนค่า (NOOB) ซึ่งคล้ายกับ return 0 ในภาษาโปรแกรมอื่น ๆ เช่น C และ Java

  • หากไม่พบคำสั่งส่งคืนอื่น ๆ IF U SAY SO จะถูกเรียกใช้งานและค่าในตัวแปร IT จะถูกส่งกลับ

ฟังก์ชั่นการโทร

ฟังก์ชันถูกกำหนดไว้ในเนื้อหาของโปรแกรมและต่อมาจะถูกเรียกให้ดำเนินการ ฟังก์ชันที่รับอาร์กิวเมนต์ตามจำนวนที่กำหนดเรียกว่าดังแสดงด้านล่าง -

I IZ <function_name> [YR <expression_One> [AN YR <expression_Two> 
   [AN YR <expression_Three> ...]]] MKAY

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

โปรดจำไว้ว่าจำนวนอาร์กิวเมนต์ที่ฟังก์ชันจะยอมรับควรกำหนดไว้ในนิยามของฟังก์ชัน

ตัวอย่าง

HAI

HOW DUZ I MAINUMBA
   I HAS A NUMBA
   GIMMEH NUMBA
   FOUND YR NUMBA
IF U SAY SO

VISIBLE MAINUMBA

KTHXBYE

เมื่อคุณเรียกใช้โค้ดด้านบนระบบจะขออินพุตจากนั้นเมื่อคุณส่งอินพุตคุณจะเห็นผลลัพธ์เช่นเดียวกัน เช่นถ้าเราใส่ 55 ก็จะพิมพ์ 55

ตัวอย่าง

HAI 1.2
HOW IZ I MULTIPLY YR FIRSTOPERANT AN YR SECONDOPERANT
   FOUND YR PRODUKT OF FIRSTOPERANT AN SECONDOPERANT
   IF U SAY SO
   VISIBLE I IZ MULTIPLY YR 2 AN YR 3
KTHXBYE

ฟังก์ชันข้างต้นที่ทำการคูณของตัวถูกดำเนินการอินพุตจะพิมพ์ผลลัพธ์ต่อไปนี้เมื่อคุณเรียกใช้

sh-
4.3$ lci main.lo

6

ตัวอย่าง

HAI 1.2
I HAS A STRINGARRAY ITZ A BUKKIT
   STRINGARRAY HAS A VAR17 ITZ "OBJECT1"
   STRINGARRAY HAS A VAR18 ITZ "OBJECT2"
   HOW IZ STRINGARRAY ACCESS YR VARIABLE
      FOUND YR STRINGARRAY'Z SRS VARIABLE
   IF U SAY SO
   I HAS A STRING ITZ "VAR17"
   VISIBLE STRINGARRAY IZ ACCESS YR STRING MKAY
KTHXBYE

ผลลัพธ์ที่โค้ดด้านบนจะสร้างคือ -

sh-
4.3$ lci main.lo 
OBJECT1