Ruby – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ תקלדות
מ ←‏השפה: הגהה
שורה 51:
מכיוון שרובי היא שפה מונחית עצמים טהורה ניתן ליישם בה שיטות (methods) של עצמים, אך לא שגרות (procedures). יחד עם זאת, השפה מאפשרת [[תכנות פרוצדורלי]] על ידי כתיבה של שיטות או אפילו קטעי קוד אימפרטיביים שלא בכפוף ל[[מחלקה (תכנות)|מחלקה]] (class) או עצם והקוד מקושר באופן אוטומטי למחלקה Object, שהיא מחלקת העל של כל העצמים בשפה, ולכן ניתן לקראה מכל מקום בתוכנית.
 
שפת רובי מאפשרת ירושה בשיטה של ירושה בודדת (Single Inheritance) אבל מאפשרת להרחיב מחלקות, בנוסף למנגנון הירושה, על ידי מנגנון בשם Mixin המאפשר למחלקה "לירושלרשת" קטעי קוד מרכיבים מסוג מודול שאינם מחלקות, או הוספת שיטות באופן דינמי למחלקות שהוגדרו בעבר, או אפילו הוספת שיטות באופן דינמי לעצמים מאותחלים.
 
רובי מכילה שילוב של כמה מרכיבים המקלים על תכנות, ובהם שילוב של [[ביטוי רגולרי|ביטויים רגולריים]], כחלק מתחביר השפה, בנוסף לממשק מונחה עצמים., זאת בדומה לשפות מונחות עצמים אחרות כגון Python ו־Java.
 
ה[[מפרש (תוכנה)|מפרש]] של רובי מופץ כ[[תוכנה חופשית]], תחת רישיון כפול: ה־[[GPL]] ורישיון Ruby.