การใช้ Operator ในการเขียนโปรแกรมต่าง ๆ ไม่ว่าจะเป็นภาษา PHP, C, Visual Baisc, Perl ก็ตาม เราก็ต้องรู้ถึงนัยสำคัญของ operator เนื่องจาก Operator ก็เหมือนตัวควบคุมดำเนินการโปรแกรมที่เราเขียนขึ้น เพราะมีหลายคนที่ปวดหัวกับการเรียงลำดับนัยสำคัญของ Operator ผิดเลยทีเดียวเพราะมันจะทำให้โปรแกรมทำงานผิดพลาด ดังนั้นในบทความนี้ผมจึงขอเสนอการจัดลำดับความสำคัญของ Operator ในภาษา Perl เพื่อเป็นแนวทางให้ผู้อ่านได้ใช้ในทางที่ถูกต้องนะครับ
ลำดับความสำคัญของ Operator พูดง่าย ๆ ก็คือว่า Operator ตัวใดถูกทำก่อน เช่น การคำนวณทางคณิตศาสตร์ 2 + 4 * 5 แน่นอนอยู่แล้วว่าหลักการทางคอมพิวเตอร์นั้นได้กำหนดไว้ว่า operator * ต้องทำก่อนนั่นก็คือ 4 * 5 จากนั้นก็นำมาบวกกัน ผลลัพธ์ที่ได้ก็คือ 2 + (4*5) = 22
แต่ถ้าเกิดว่า operator มีลำดับความสำคัญเท่ากัน ดังนั้นมันจะถือว่า operator ทางซ้ายสำคัญกว่า เช่น 8 - 4 - 2 มันจะทำการคำนวณ 8 - 4 ก่อนแล้วจึงนำผลลัพธ์ที่ได้ไป - 2 อีกที ดังนั้นผลลัพธ์ที่ได้คือ (8 - 4) - 2 = 2
เรามาดู operator ในภาษา Perl กันเถอะครับ ว่าตัวใดมีลำดับความสำคัญสูงสุด โดยตารางนี้จะเรียงลำดับความสำคัญจากสูงสุด ไปยัง ลำดับความสำคัญที่ต่ำสุด
| -> |
| ++ -- |
| ** |
| ! ~ \ unary + และ - |
| * / % x |
| + - . |
| << >> |
| < > <= >= lt gt le ge |
| == != <=> eq ne cmp ~~ |
| & |
| | ^ |
| && |
| || // |
| .. ... |
| ?: |
| = += -= *= etc. |
| , => |
| not |
| and |
| or xor |
ผู้อ่านหลายคนคงอาจจะสงสัยว่า Operator หน้าตาแปลก ๆ บางตัวเอาไว้ทำอะไร ซึ่งผมจะค่อย ๆ อธิบายไปในบทความต่อไปนะครับ
Login
Search