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