BOO

מתוך ויקיפדיה, האנציקלופדיה החופשית
Incomplete-document-purple.svg
יש להשלים ערך זה: בערך זה חסר תוכן מהותי.
הנכם מוזמנים להשלים את החלקים החסרים ולהסיר הודעה זו. שקלו ליצור כותרות לפרקים הדורשים השלמה, ולהעביר את התבנית אליהם.
Boo
BooLogo.png
פרדיגמות מונחית עצמים
שנה 2003
מתכנן רודריגו ב. דה אוליברה
מפתח רודריגו ב. דה אוליברה
טיפוסיות סטטית,חזקה,"טיפוסיות ברווז",
הושפעה על ידי פייתון, #C
השפיעה על

Vala,

Genie
רישיון BSD 3-Clause
boo-lang.org

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}")


ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

Green globe.svg אתר האינטרנט הרשמי של BOO

  • BOO, באתר Progopedia

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ בשפות בעלות טיפוסיות סטטית לכל משתנה ולכל ערך יש טיפוס. כל משתנה מטיפוס מסוים יכול להכיל רק ערכים מאותו טיפוס (או מתת-טיפוס שלו) וכל הטיפוסים נבדקים בזמן הידור. כך המהדר יכול להתריע במקרה של שגיאות. בשפות כאלה, עצם העובדה שתוכנית עברה הידור מעיד שלא קיימות בה שגיאות מסוגים מסוימים.
  2. ^ 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.
  3. ^ אינדקס (בהקשר זה): מספר טבעי המייצג מקום בסדרה