אופרטור (תכנות) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
←‏קדימות: הרחבה
מ ←‏קדימות: הגהה
שורה 109:
[[קדימות אופרטורים]] (Associativity) מציינת את חוזק הקשר בין הביטויים השונים. והיא נקבעת הן לפי סדר עדיפויות קבועה מראש בין האופרטורים השונים, והן לפי הסדר שבו הם כתובים (משמאל לימין או ימין לשמאל). כך למשל, האסוציאטיביות המקובלת בפעולות אריתמטיות היא שפעולת העלאה בחזקה קודמת לכפל וחילוק שקודמות לפעולות חיבור וחיסור, וכן מקובל שפעולות אלה קודמות לפעולת השמה.
 
במקרה של ספק או רצון לחרוג מסדר העדיפויות, ניתן על פי רוב להשתמש בסוגריים שקובעים את סדר הקדימויות הרצוי (לדוגמה: ערכו של הביטוי 2+2*3 יחזירהוא 8 ואילו (2+2)*3 יחזירהוא 12). אך יש לשים לב לכך ששימוש זה בסוגריים שונה מהשימוש בהם כ'''אופרטור קריאה לפונקציה''' בשפות תכנות רבות, וכן לכך שבשפות מסוימות (למשל Haskell) הדבר עלול לתת משמעות שונה מהצפוי לביטוי כולו.
 
כאשר ישנם בביטוי מספר אופרטורים להם עדיפות שווה, העדיפות תקבע על פי סדר הכתיבה שלהם, לעתים הקדימות היא של האיבר השמאלי מביניהם ולעתים של הימני, באופן שתלוי בהקשר ובשפה הספציפית. ישנם מקרים מעטים בהם אין סדר עדיפויות (כמו אופרטורים בוליאניים בשפת [[עדה (שפת תכנות)|עדה]]) ובמספר שפות כגון [[פרולוג (שפת תכנות)|פרולוג]] ניתן לשנות את הסדר הקבוע מראש.