ฟังก์ชันและตัวแปร
แนะนำ
ปรัชญาการออกแบบหลักของภาษาโปรแกรม Wave คือการรักษาสมดุลระหว่างประสิทธิภาพระดับต่ำและการยกระดับสูง เพื่อให้การพัฒนาซอฟต์แวร์มีความยืดหยุ่นและมีประสิทธิภาพ ในส่วนนี้เราจะแนะนำฟังก์ชันและตัวแปร ซึ่งเป็นส่วนประกอบพื้นฐานของโปรแกรม Wave ส่วนประกอบเหล่านี้มีความสำคัญในการจัดการตรรกะและข้อมูลภายในโปรแกรม การเข้าใจวิธีการกำหนดและจัดการฟังก์ชันและตัวแปรจะช่วยให้คุณสามารถใช้ประโยชน์จาก Wave ได้เต็มที่
ฟังก์ชัน
ใน Wave ฟังก์ชันทำหน้าที่เป็น บล็อกโค้ดที่สามารถนำกลับมาใช้ใหม่ และสามารถทำงานได้อย่างอิสระ ฟังก์ชันจะทำการห่อหุ้มการกระทำเฉพาะและสามารถเรียกใช้งานได้ตลอดโปรแกรมเมื่อมีความจำเป็น
ด้วยวิธีนี้คุณสามารถทำการคำนวณ จัดการงาน I/O หรือแบ่งโค้ดออกเป็นหน่วยที่จัดการได้ง่าย
ลายเซ็นของฟังก์ชันใน Wave จะเริ่มต้นด้วยคีย์เวิร์ด fun
ตามด้วยชื่อฟังก์ชัน พารามิเตอร์ (ถ้ามี) และร่างกายของฟังก์ชันที่อยู่ในวงเล็บ {}
การกำหนดฟังก์ชัน
ใน Wave ฟังก์ชันพื้นฐานสามารถกำหนดได้ดังนี้:
fun main() {
// เขียนโค้ดที่นี่
}
- ฟังก์ชัน
main
เป็นจุดเริ่มต้นของการทำงานของโปรแกรมและจำเป็นต้องมีเสมอ - ฟังก์ชันสามารถมีพารามิเตอร์และสามารถส่งค่าผลลัพธ์กลับได้ โดยชนิดของค่าที่ส่งกลับจะระบุหลังชื่อฟังก์ชัน
ตัวอย่าง: ฟังก์ชันง่ายๆ
fun add(a :i32, b :i32) -> i32 {
return a + b;
}
fun main() {
var result = add(5, 7); // เรียกใช้งานฟังก์ชัน add
println(result); // แสดงผล: 12
}
ในตัวอย่างนี้:
- ฟังก์ชัน
add
รับค่าจำนวนเต็มa
และb
และส่งค่าผลรวมกลับ - ฟังก์ชัน
main
เรียกใช้add
และแสดงผลลัพธ์
ตัวแปร
ตัวแปรถูกใช้ในการเก็บและจัดการข้อมูลภายในโปรแกรม Wave รองรับทั้ง ตัวแปรที่สามารถเปลี่ยนค่าได้ และ ตัวแปรที่ไม่สามารถเปลี่ยนค่าได้ ซึ่งช่วยให้ผู้พัฒนาควบคุมการจัดการข้อมูลได้ดียิ่งขึ้น
ตัวแปรที่สามารถเปลี่ยนค่าได้
ใน Wave ตัวแปรจะถูกประกาศเป็น ตัวแปรที่สามารถเปลี่ยนค่าได้ (mutable) โดยค่าเริ่มต้น ซึ่งสามารถเปลี่ยนค่าในระหว่างการทำงานของโปรแกรมได้
ตัวแปรที่สามารถเปลี่ยนค่าได้จะถูกประกาศด้วยคำว่า var
var x :i32 = 10; // ตัวแปรที่สามารถเปลี่ยนค่าได้
x = 20;
ในตัวอย่างนี้:
x
เป็นตัวแปรที่สามารถเปลี่ยนค่าได้ โดยมีค่าเริ่มต้นเป็น10
และสามารถเปลี่ยนเป็น20
ได้
ตัวแปรที่ไม่สามารถเปลี่ยนค่าได้
หากประก าศตัวแปรเป็น ตัวแปรที่ไม่สามารถเปลี่ยนค่าได้ (immutable) ตัวแปรจะไม่สามารถเปลี่ยนค่าได้หลังจากการกำหนดค่าแล้ว
ตัวแปรที่ไม่สามารถเปลี่ยนค่าได้จะถูกประกาศด้วยคำว่า var imm
var imm y :i32 = 5; // ตัวแปรที่ไม่สามารถเปลี่ยนค่าได้
// y = 10; // ข้อผิดพลาด: ไม่สามารถเปลี่ยนค่าตัวแปรที่ไม่สามารถเปลี่ยนค่าได้
ในที่นี้:
y
เป็นตัวแปรที่ไม่สามารถเปลี่ยนค่าได้ และจะเกิดข้อผิดพลาดถ้าพยายามเปลี่ยนค่า
ตัวอย่างการประกาศตัวแปร
ตัวอย่างการประกาศตัวแปรที่สามารถเปลี่ยนค่าได้และไม่สามารถเปลี่ยนค่าได้ในประเภทต่างๆ มีดังนี้:
var x :i32 = 10; // ตัวแปรจำนวนเต็มที่สามารถเปลี่ยนค่าได้
var imm y :f64 = 3.14159; // ตัวแปรตัวเลขทศนิยมที่ไม่สามารถเปลี่ยนค่าได้
var name :str = "Wave"; // ตัวแปรสตริงที่สามารถเปลี่ยนค่าได้
var imm is_active :bool = true; // ตัวแปรค่าตรรกะที่ไม่สามารถเปลี่ยนค่าได้
x
เป็นตัวแปรจำนวนเต็มที่สามารถเปลี่ยนค่าได้y
เป็นตัวแปรตัวเลขทศนิยมที่ไม่สามารถเปลี่ยนค่าได้name
เป็นตัวแปรสตริงที่สามารถเปลี่ยนค่าได้is_active
เป็นตัวแปรค่าตรรกะที่ไม่สามารถเปลี่ยนค่าได้
ใน Wave การใช้คำว่า var
จะใช้ในการประกาศตัวแปรที่สามารถเปลี่ยนค่าได้ และใช้คำว่า var imm
ในการประกาศตัวแปรที่ไม่สามารถเปลี่ยนค่าได้หลังจากที่กำหนดค่าแล้ว
การแยกแยะตัวแปรที่สามารถเปลี่ยนค่าได้และไม่สามารถเปลี่ยนค่าได้ทำให้ Wave สามารถควบคุมความสอดคล้องของข้อมูลและสถานะของโปรแกรมได้ดียิ่งขึ้น ซึ่งช่วยให้การเขียนโค้ดที่มั่นคงและสามารถทำนายได้มากขึ้น