מבוא
שפת סקאלה עוצבה על ידי מרטין אודרסקי, פרופסור ב-École Polytechnique Fédérale de Lausanne (EPFL) בשווייץ ומדען מחשבים גרמני. מרטין התחיל לעבוד על יצירת סקאלה בשנת 2001, והיא שוחררה לראשונה ב-2004.
סקאלה היא קיצור של שפה ניתנת להרחבה
. זו שפה כללית, מונחית עצמים שיש לה כמה קווי דמיון לשפת התכנות ג'אווה. היא מספקת תמיכה לתכנות פונקציונלי. החלטות העיצוב של סקאלה נועדו להתמודד עם החסרונות של שפת התכנות ג'אווה.
כמה תכונות שסקאלה מציעה הן:
-
קוד המקור של סקאלה יכול להיות מופעל כקוד בייט של ג'אווה ולכן ניתן להריץ אותו על מכונה וירטואלית של ג'אווה (JVM).
-
היא מספקת תאימות שפתית עם ג'אווה כך שספריות שנכתבו בכל אחת מהשפות יכולות להיות מופנות בקוד של סקאלה או ג'אווה.
-
כמו ג'אווה, גם סקאלה משתמשת בתחביר סוגריים מסולסלים.
-
יש לה הרבה תכונות של שפות תכנות פונקציונליות כמו Scheme, Standard Machine Learning ו-Haskell, כולל currying, הסקת טיפוסים, אי-שינוי, הערכה עצלה והתאמת תבניות.
-
תמיכה ביישומים האינטרנטיים באמצעות JavaScript.
-
שלא כמו Java, סקאלה גם תומכת בעברת נטל של אופרטורים, פרמטרים אופציונליים, פרמטרים בשם ומחרוזות גולמיות.
<diy9עובדה מעניינת על סקאלה היא שהיא בשימוש רחב בחברות כמו Apple, Twitter, Walmart ו-Google בגלל הנפלאות שלה והיכולת לשמש בפעילויות השולחן האחורי.
הקמת סקאלה ב-Jupyter Notebook
ה-Jupyter notebook הוא הכלי הנמצא בשימוש הרחב ביישומי המחשב, במיוחד בתחום המדעי הנתונים. יש גם תמיכה בפיתוח סקאלה בעזרת spylon-kernel
.
הערה: עבור אלה מכם שחדשים ב-jupyter notebook, אנא בדאגה בדקו זאת הדרכה מקיפה.
הקמת הסביבה של סקאלה ב-jupyter notebook אינה מדע הרקטיה. ניתן להכין אותה במהירות במספר צעדים קטנים.
-
ראשית, תמיד את ה
spylon-kernel
.pip install spylon-kernel
(Python 2)pip3 install spylon-kernel
(Python 3) -
בהמשך, תיצור ספקסיפיס שיאפשר לך לבחור את
scala-kernel
בגיליון ג 'יפייטר.python -m spylon_kernel install
(Python 2)python3 -m spylon_kernel install
(Python 3) -
אחר כך, כצעד חשוב, תתקע את
pyspark
וfindspark
מפני שspylon-kernel
גם תתקע כמה רכיבים שלspark
.pip install pyspark findspark
(Python 2)pip3 install pyspark findspark
(Python 3) -
לבסוף, התחילו את המחשבה שלכם של Jupyter ובחרו את הקרנל כמו
spylon-kernel
ואתם מוכנים להתחיל!
- בואו נרצה קטע קטן של קוד בכדי לבדוק האם הקרנל הסקלי נתגונן בצורה נכונה או לא.
val x = 2 val y = 3 x*y
x: Int = 2 y: Int = 3 res1: Int = 6
נפלא! כך שאתם יכולים להבחין מההוצאה העליונה, הצלחתם להגדיר את הסקלי בסביבת Jupyter Notebook.
שיווקים בסיסיים
בואו נתחיל על ידי הדפסת Hello, World!
בסקלי.
print("Hello, World!")
Hello, World!
כפי שאתם יכולים לראות, זה היה כל כך פשוט, רק צו הדפיס שאחריו המשתמש כאן.
עכשיו, בואו נסתכל על מספר פרטים שונים של השיווקים בסקלי:
-
סקלי הוא רגיש לאות המילים, שאומר שהמילים המזוהמות
DataCamp
וdataCamp
יהיו משמעות שונות בסקלי. -
בסקלי, כל שמות הקומפונים צריך להיות בכותרת גבוהה. אם מספר מילים מובנים בשם הקומפון, הפעם הראשונה של כל מילה צריכה להיות בכותרת גבוהה. לדוגמה,
class MyScalaDataCampTutorial
. -
שמות ה שימושים בסקלה פועלים קצת אחרת מאשר שמות ה
מועדפים
בעיקר כדי להבחין בין שמות השימושים
לשמות המועדפים
. שמות השימושים צריכות להתחיל באותה גוף קטן (מקור). אם מרכיבים רבים מהמילים יוצרים את שם השימושים, אז התווך של כל מילה הפנימית צריכה להיות בגוף גדול. לדוגמה,def firstDatacampScalaTutorial()
-
בסקאלה, שם הקובץ התוכנית צריך להיות זהה לשם האובייקט. כשאתם שומרים את הקובץ, צריך לשמור אותו בשם האובייקט ולהוסיף
.scala
בסוף השם. לדוגמה, נניח שScalaTutorial
הוא שם האובייקט. אז הקובץ צריך להינמס כScalaTutorial.scala
.שים לב: אם שם הקובץ ושם האובייקט לא מתאימים, אז התוכנית שלך לא תתכנת.
-
לבסוף, כמו רוב שפות התכנות, עיבוד התוכנית בסקאלה גם מתחיל מהפעולה
main()
, שהיא חלק כריכול בכל תוכנית סקאלה.
התמונה המתחת מראה את מילות המשמע המוגבלות בסקאלה שלא ניתנות לשימוש כמשתנים או כמזהים אחרים.

סוגי הנתונים
סוגים של מידע בסקלה כמעט זהים לגמרי למספר שפות תכנות אחרות כמו צ', צ'++, ג'אה, פייתון ועוד. עם טבח זיכרון ודיוק דומים.
סוף סיפור, בואו נסתכל על כמה מהסוגים האחרונים של המידע המופיעים בסקלה:
-
Int: ערך חסר 32 בית עם טווח מהחל מ $2^{-31}$ ל $2^{31} – 1$.
-
Byte: ערך חסר 8 בית עם טווח מהחל מ $2^{-7}$ ל $2^{7} – 1$.
-
Short: ערך חסר 16 בית עם טווח מהחל מ $2^{-15}$ ל $2^{15} – 1$.
-
Long: ערך חסר 64 בית עם טווח מהחל מ $2^{-63}$ ל $2^{63} – 1$.
-
Float: יש שני סוגים: 32 בית (ממוצע פלט) ו-64 בית (פלט כפול).
- Char: תו אות בן 16 בית חסר
כמה מסוגי המידע האחרים הם ספרה, בוליאני, נול.
מסקנה
מזל טוב על השלמת המדריך הזה.
זוהי נקודת התחלה מעולה עבור מתחילים שמתעניינים בלימוד Scala.
ללימודים נוספים, בדקו את מדריכי Scala של DataCamp:
הבסיס של פונקציות ושיטות בScala
ישנם עוד הרבה מידע על Scala שעדיין לא נפתח כמו if/else, לולאות for, מנגנונים שונים בScala ועוד, שיעורדו בהדרכה הבאה, תשמרו על זה!
הפניות:
בבקשה לא פחדו לשאול שאלות של כל סוג של השאלות שקשורות למערכת המדענים בתוכו של המאמר.
Source:
https://www.datacamp.com/tutorial/beginners-guide-to-scala