BOO
מראה
יש להשלים ערך זה: בערך זה חסר תוכן מהותי.
| ||
יש להשלים ערך זה: בערך זה חסר תוכן מהותי. | |
פרדיגמות | מונחית עצמים |
---|---|
תאריך השקה | 2003 |
מתכנן | רודריגו ב. דה אוליברה |
מפתח | רודריגו ב. דה אוליברה |
טיפוסיות | סטטית,חזקה,"טיפוסיות ברווז", |
הושפעה על ידי | פייתון, #C |
השפיעה על | Vala, Genie |
רישיון | BSD 3-Clause |
boo-lang | |
Boo היא שפת תכנות מונחית עצמים, סטטית[1], וכללית (אנ') שהופיעה לראשונה בשנת 2003. היא משתמשת בתמיכתה של Common Language Infrastructure (או בקיצור: CLI), (אנ') ויישומי רשת בשביל יוניקוד תוך כדי שימוש בתחביר (Syntax) אשר קיבל השראה מפייתון. בשפה ניתן דגש מיוחד על "יכולת ההרחבה" (אנ')[2] של השפה ושל המהדר.
Boo הייתה אחת משלושת שפות התכנות הסקריפטיות בשביל מנוע המשחקים Unity עד להסרתה משם בשנת 2014 מפני שקהל המשתמשים שלה היה קטן. אף על פי כן, היה ניתן לכתוב ב-Boo ב-Unity עד להסרת המהדר של Boo ממנה בשנת 2017.
Boo היא תוכנה חינמית, שיצאה תחת רישיון BSD 3-Clause לשלדי התוכנה של מיקרוסופט, .NET ו-Mono.
תחביר השפה
[עריכת קוד מקור | עריכה]Inline comments (הערות של שורה אחת) | // |
---|---|
Non-nestable comments (הערות של כמה שורות) | /* ... */ |
Variable assignment (השמה למשתנה קיים) | variable = value |
Variable declaration (יצירת משתנה) | variable as type |
Variable declaration with assignment (יצירת משתנה והשמה) | variable as type = value |
Block (בלוק קוד) | indentation (הזחה) |
Comparison (אופרטורים של השוואה) | < > <= >= |
Function definition (הגדרה פונקציה) | def f(p1 as type1, p2 as type2, ...) as returntype: |
Function call (קריאה לפונקציה) | (...,f(a,b |
Function call with no parameters (קריאה לפונקציה ללא פרמטרים) | ()f |
Sequence | end of line (סיום השורה) |
If - then | ... :if condition |
If - then - else | ... :if condition: ... else |
For each value in a numeric range, 1 increment | .... : (1,11)for i in range |
דוגמאות קוד
[עריכת קוד מקור | עריכה]הדפסת "שלום, עולם" באנגלית:
print "Hello World!"
קוד המדפיס את סדרת פיבונאצ'י עד לאינדקס[3] מסוים בסדרה (אותו המתכנת בוחר):
def fib():
a, b = 0L, 1L # The 'L's make the numbers double word length (typically 64 bits)
while true:
yield b
a, b = b, a + b
# Print the first 5 numbers in the series:
for index as int, element in zip(range(5), fib()):
print("${index+1}: ${element}")
ראו גם
[עריכת קוד מקור | עריכה]קישורים חיצוניים
[עריכת קוד מקור | עריכה]- אתר האינטרנט הרשמי של BOO
- BOO, באתר Progopedia
הערות שוליים
[עריכת קוד מקור | עריכה]- ^ בשפות בעלות טיפוסיות סטטית לכל משתנה ולכל ערך יש טיפוס. כל משתנה מטיפוס מסוים יכול להכיל רק ערכים מאותו טיפוס (או מתת-טיפוס שלו) וכל הטיפוסים נבדקים בזמן הידור. כך המהדר יכול להתריע במקרה של שגיאות. בשפות כאלה, עצם העובדה שתוכנית עברה הידור מעיד שלא קיימות בה שגיאות מסוגים מסוימים.
- ^ Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be through the addition of new functionality or through modification of existing functionality. The principle provides for enhancements without impairing existing system functions.
- ^ אינדקס (בהקשר זה): מספר טבעי המייצג מקום בסדרה