ตัวแปร
ตัวแปร (ภาษาอังกฤษ: Variable) นั้นเป็นสิ่งที่สำคัญมากในการเขียนโปรแกรม ถ้ายังจำตอนเรียนคณิตศาสตร์ชั้นมัธยมได้ เราจะรู้จักกับตัวแปรในรูปแบบ x, y, z และสมการเชิงเส้นต่างๆ (นึกถึงความหลัง 😂)
แต่ในเชิงของการเขียนโปรแกรม และในภาษา Ruby ตัวแปรคือสิ่งที่เก็บข้อมูลอะไรก็ได้ เพื่อนำไปใช้ประโยชน์ต่อไป ถ้าในทางคณิตศาสตร์ตัวแปรจะเอาไว้แทนตัวเลขอย่างเดียว
ถ้าจะอธิบายเป็นภาษาชาวบ้าน ตัวแปรก็เป็นแค่กล่องเก็บของนั่นเอง 📦
การสร้างตัวแปร
การสร้างตัวแปร (บ้างอาจเรียก การ "ประกาศ" ตัวแปร) ทำได้โดยการตั้งชื่อของตัวแปร ตามด้วยเครื่องหมายเท่ากับ = แล้วตามด้วยค่าของข้อมูลทางด้านขวา
จากตัวอย่างด้านบน เป็นการประกาศตัวแปร 3 ตัว ได้แก่ :
ชื่อ
xให้มีค่าเท่ากับ 1ชื่อ
sumมีค่าเป็น1 + 2 + 3 + 4 + 5ซึ่งก็คือ15ชื่อ
hello_worldมีค่าเป็นสตริง"สวัสดี ชาวโลก"👽
เมื่อเราประกาศตัวแปรเสร็จแล้ว ลองใช้คำสั่ง puts กับตัวแปรเหล่านี้ดู
นอกจากนี้ เรายังนำตัวแปรมาใช้ซำ้ได้ เช่นการใช้ตัวแปรมาบวกเลขกัน หรือเรียกเมธอดกับตัวแปรสตริง เป็นต้น
จากตัวอย่างด้านบน เป็นการใช้งานตัวแปร ได้แก่ :
x + sumโดยที่xเป็น1และsumเป็น15จึงได้ค่าออกมาเป็น16sum * 2โดยที่sumเป็น15จึงได้ค่าออกมาเป็น30สังเกตได้ว่า ค่าของตัวแปรต่างๆ จะยังเป็นค่าเดิม ไม่เปลี่ยนแปลง
hello_world.reverseคือการนำค่าสตริงในตัวแปรhello_worldมากลับด้าน ทำให้ได้ค่าออกมาเป็นกลโวาช ีดสัวสhello_world + xบรรทัดนี้จะทำให้โปรแกรมเกิดข้อผิดพลาดหรือ Error ขึ้น เพราะว่าเป็นการบวกกันของสตริง และตัวเลขเข้าด้วยกัน
ซึ่งถ้าจะแก้ไขปัญหาของโค้ดส่วนนี้ จะต้องทำการแปลงค่า x ให้เป็นสตริงก่อน ด้วยเมธอดการแปลงค่าเป็นสตริง .to_s ซึ่งเมื่อเราแปลงแล้ว การบวกสตริงสองตัวเข้าด้วยกัน จะนับเป็นการเอาคำมาต่อท้ายนั่นเอง
การเขียนค่าซำ้ในตัวแปร หรือประกาศตัวแปรใหม่
จากตัวอย่างก่อนหน้านี้ จะเห็นว่าเมื่อประกาศตัวแปรไปแล้ว ค่าจะเป็นเท่าเดิมเสมอแม้ว่าจะมีการใช้ซำ้ในหลายๆ บรรทัดก็ตาม
แต่ถ้าเราทำการประกาศตัวแปรโดยใช้ชื่อเดิม จะถือว่าเป็นการล้างค่าตัวแปรเดิมไปเลย ตามตัวอย่างโค้ดด้านล่างนี้
เมื่อถึงบรรทัด puts x จะได้ค่าออกมาเป็น 3 เพราะเราทำการประกาศซำ้หลายครั้ง ทำให้ค่าเดิมถูกล้างไป และครั้งสุดท้ายที่ประกาศคือ x = 3
นอกจากนี้เรายังสามารถใช้ค่าจากตัวแปรเดิมในทางด้านขวา เพื่อกำหนดค่าใหม่ได้อีกด้วย
เมื่อถึงบรรทัด puts x จะได้ค่าออกมาเป็น 6 ถ้าเราแจกแจงแต่ละบรรทัด x จะถูกเปลี่ยนค่าดังนี้
x = 1ทำให้xมีค่าเป็น1x = x + 2เป็นการประกาศxใหม่ แต่จากบรรทัดที่แล้วxมีค่า1ทำให้ในบรรทัดนี้xมีค่าเป็น1 + 2เท่ากับ3x = x + 3เป็นการประกาศxใหม่อีกครั้ง แต่จากบรรทัดที่แล้วxมีค่า3ทำให้ในบรรทัดนี้xมีค่าเป็น3 + 3เท่ากับ6
แบบฝึกหัด การใช้ตัวแปร
โจทย์ : มีตะกร้าผลไม้ทั้งหมด 5 ใบ ใบหนึ่งมีแอปเปิล 4 ลูก แต่มีแอปเปิลเสียไป 3 ลูกจากทั้งหมด จงหาว่าเหลือแอปเปิลที่ยังไม่เสียกี่ลูก ให้โปรแกรมตอบว่า เหลือแอปเปิล 17 ลูก โค้ดที่ให้จะยังมี Error อยู่ จงแก้โค้ดให้ทำงานได้และตอบคำถามได้ถูกต้อง โดยการสร้างตัวแปร a, b, c และ d
ดูเฉลยได้ในบทถัดไป
Last updated
Was this helpful?