วันพุธที่ 27 เมษายน พ.ศ. 2554

คาบที่ 2 – Variable = ตัวแปร ค่าฉงนของจักรวาล

ตัวแปร มันคืออะไร สำคัญไฉน ทำไมต้องรู้จักมัน

ตัวแปร ถ้าเปรียบเทียบกับจักรวาลที่เราอยู่อาศัยแล้วมันก็คือ “ชื่อ” ของสรรพสิ่งนั่นเอง ในจักรวาลนั้น ชื่อเป็นสิ่งที่สำคัญมาก เพราะจะทำให้เราสามารถยืนยันตัวตนจนกระทั่งรู้ถึงความแตกต่างของสิ่งของสองสิ่งได้ ...ถ้าคุณกล่าวถึงชื่อ “โลก” ในจักรวาลของเรานั่นก็คือ ดาวเคราะห์ดวงที่ 3 ของระบบสุริยะจักรวาล มีน้ำเป็นองค์ประกอบเสียเป็นส่วนใหญ่ เจ้าคำว่า โลก ก็คือ ตัวแปรตัวหนึ่งนั่นเอง เห็นไหมครับ ชื่อนั้นก็คือ ตัวแปร ดังนั้นไม่ว่าจะเป็น หมู หมา กา ไก่ ไข่ อีเห็น บ้านเรือน ประเทศ รัฐบาล ฝ่ายค้าน อำมาตย์ ไมเคิล แจ็คสัน เครื่องบินรบ ชื่อของทุกสรรพสิ่งล้วนคือ ตัวแปร ทั้งหมด

ในแอคชั่นสคริปนั้น ตัวแปรแต่ละตัวก็เปรียบเหมือนชื่อวัตถุในจักรวาล(โปรแกรม)ของแฟลชนั่นเอง ทว่า จักรวาลของแฟลชนั้น ไม่เหมือนจักรวาลของโลกมนุษย์เสียทีเดียว

คำว่า ไก่ ในจักรวาลของแฟลช ไม่จำเป็นเสมอไปว่าจะเหมือนไก่ในจักรวาลของโลกเรา

อ้าว แล้วเราจะรู้ได้ไงว่า ตัวแปร ไก่ ในจักรวาลแฟลชคืออะไร............... ฮึฮึฮึ คำตอบคือ ... ไม่รู้

ดังนั้น เพื่อให้เราสามารถรู้ได้ว่า ไก่ในจักรวาลแฟลชนั้น มันคืออะไร จึงต้องมีการกำหนดคำจำกัดความของตัวแปรไก่ นั่นก็คือ “ชนิดของตัวแปร” นั่นเอง

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

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

รูปแบบ var [ชื่อตัวแปร] : [ชนิดตัวแปร] = [ค่าตัวแปรถ้ามี];

ตัวอย่าง var pickHigh:Number = 180;

ความหมาย สร้างตัวแปร ชื่อ pickHigh มีชนิดตัวแปรคือ ตัวเลข ซึ่งมีค่าเท่ากับ 180

ในการสร้างตัวแปรขึ้นมา ต้องประกาศ(ประกาศ ภาษาแฟลชหมายถึงพิมพ์ลงไปในช่องแอคชั่นสคริป)
ประกาศคำว่า var เคาะเว้นวรรค 1 ที แล้วจึงตามด้วยชื่อตัวแปรที่เราต้องการสร้างขึ้นมา
สำคัญ: ตรงนี้สำคัญมากครับ หลังชื่อตัวแปรที่เราต้องการสร้าง จากบรรทัด รูปแบบ จะเห็นว่า หลัง[ชื่อตัวแปร] จะมีเครื่องหมาย โคล่อน (:) คั่น ก่อนจะประกาศชนิดของตัวแปร สำหรับชนิดของตัวแปรนั้น จะใส่ก็ได้ไม่ใส่ก็ได้ พูดง่ายๆ ถ้าไม่ใส่ก็ไม่ต้องใส่โคล่อนนั่นเอง

ASบอย : อ้าว ไม่ใส่ก็ได้เหรอครับครู

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

ตัวอย่าง var pickHigh:Number = 180;

กำหนดชนิดเป็น ตัวเลข ส่วน ค่า ที่จะกำหนด ก็ต้องสอดคล้องกับขนิดของตัวแปร นั่นคือ ต้องเป็นตัวเลขด้วย แต่ถ้าไม่มีค่า หรือไม่อยากใส่ ก็ไม่ต้องใส่ = เริ่มเข้าใจนิดๆ แล้วใช่มะ แล้วลงท้ายด้วยเครื่องหมาย “;” หรือเซมิโคล่อนนั่นเอง เพื่อบ่งบอกว่า เราประกาศเรื่องนั้นเสร็จแล้ว

ทุกครั้งที่มีการประกาศ ต้องลงท้ายด้วยเครื่องหมาย เซมิโคล่อนทุกครั้ง เพื่อให้โปรแกรมรู้ว่า เราประกาศเรื่องนั้นเสร็จแล้ว
ดังนั้น พูดให้ง่าย การสร้างชื่ออะไรในจักรวาลแฟลชสักอันหนึ่ง ให้ใช้คำขึ้นต้นว่า var แล้วตามด้วยชื่ออย่างอิสระ จะมามีปัญหาก็ตรงการกำหนดชนิดของตัวแปรนี่เอง เพราะค่าที่ใส่ต่อจากนั้น จะขึ้นตรงกับชนิดของตัวแปรเสียด้วย

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

Number คือ ตัวเลขที่มีจุดทศนิยมด้วย, int คือ ค่าจำนวนเต็ม ไม่มีทศนิยม, Boolean ค่าทางตรรกศาสตร์ มีแค่ true และ false (จริงกับเท็จเท่านั้น), Sprite ลักษณะเป็นกระดาษแผ่นหนึ่ง ที่สามารถวาดรูปอะไรลงไปก็ได้, Movieclip คือsprite หลายๆแผ่นมาต่อกัน เหมือนเวลาเราทำการ์ตูนขอบสมุด เมื่อเปิดเร็วๆแล้วจะเกิดภาพเคลื่อนไหว เจ้ามูฟวี่คลิปก็สำหรับกำหนดตัวแปรว่าให้เป็นภาพเคลื่อนไหวนั่นเอง ฯลฯ

ทั้งนี้ เรายังสามารถสร้างชนิดของตัวแปรได้เองตามอิสระด้วย ซึ่งเราจะเรียกมันว่า คลาส (Class) โดยจะพบได้ในบทหลังจากนี้
เข้าใจเกี่ยวกับการสร้างตัวแปรมากขึ้นแล้วหรือยัง

เอาล่ะเรามาทบทวนกันก่อนดีกว่า ความรู้ที่ได้จากคาบนี้คือ

1. ตัวแปร ก็คือชื่อของตัวอะไรก็ตามตัวหนึ่งในโปรแกรมแฟลช โดยเราสามารถกำหนด ชนิดและค่าของมันได้อย่างอิสระ
2. ในการสร้างตัวแปรขึ้นมาตัวหนึ่ง จะเริ่มต้นด้วยคำว่า var แล้วตามด้วยชื่อตัวแปร : แล้วจึงกำหนดชนิดของตัวแปร
3. ตัวแปรสามารถกำหนดค่าได้โดยใช้เครื่องหมาย = แล้วจึงตามด้วยค่าที่ต้องการกำหนด
4. ในการประกาศตัวแปร หรือจะประกาศอะไรก็ตาม ถ้าจบประโยคแล้ว ลงท้ายด้วย ; เสมอ


งั้น เรามาลองทำแบบฝึกหัดกันดีกว่า เพื่อจะได้เข้าใจมากยิ่งขึ้น

1. ให้สร้างตัวแปรชื่อ potter โดยมีชนิดของตัวแปรเป็น Boolean ทำอย่างไร

-เฉลย var potter:Boolean;

2. จากตัวแปร potter ให้กำหนดค่าเป็น true

-เฉลย potter = true;

หลายท่านคงสงสัย อ้าว var หายไปไหน ชนิดของตัวแปรด้วย Boolean อ่า นั่นก็เพราะ โจทย์บอกว่า จากตัวแปร potter นั่นหมายถึง เอาตัวแปรที่สร้างมาแล้วมากำหนดค่า เมื่อมันมีตัวแปรสร้างแล้ว คุณจะสร้างใหม่ทำไมล่ะ ก็เอาของเดิมนั่นแหละมาใช้ เมื่อสร้างแล้ว และเพราะเรากำหนดชนิดของตัวแปรตอนสร้างไปแล้ว จึงไม่ควรกำหนดใหม่ ให้ใช้ชนิดของตัวแปรเดิมไปตลอดชีวิต แต่ “ค่า” ของตัวแปรนั้น สามารถเปลี่ยนไปมาได้ตลอด ดังนั้นมันจึงเหลือแค่ ชื่อตัวแปร = ค่า; เท่านั้น

3.จงสร้างตัวแปรตามชื่อวัน และกำหนดชนิดของตัวแปรเป็น Days

- เฉลย var monday:Days; var tuesday:Days; var wednesday:Days; var thursday:Days; var friday:Days;
var saturday:Days; var sunday:Days;

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


ดังนั้น ในการสร้างตัวแปร ชนิดของตัวแปรถือเป็นสิ่งสำคัญที่สุด และมันก็มีมากมายหลายชนิดเสียด้วย ในคาบหน้า จะเริ่มดึงเอาชนิดของตัวแปรทีละตัวมาทำความรู้จักกันนะครับ เจอกันใหม่คาบหน้าครับ


By ครูปิ๊ก

3 ความคิดเห็น: