הקדמה
התוכנית "שלום, עולם!" היא מסורת קלאסית וכבודה בתכנות למחשב. זו תוכנית ראשונה קטנה ומלאה עבור מתחילים, וזו דרך טובה לוודא שהסביבה שלך מוגדרת כראוי.
המדריך הזה ילמד אותך איך ליצור את התוכנית הזו ב־Ruby. עם זאת, כדי להפוך את התוכנית למעניינת יותר, תשנה את התוכנית המסורתית "שלום, עולם" כך שתבקש מהמשתמש את שמו. לאחר מכן, תשתמש בשם בברכה. כשתסיים את המדריך, תקבל תוכנית שתראה כך כאשר תפעיל אותה:
OutputPlease enter your name.
Sammy
Hello, Sammy! I'm Ruby!
דרישות מוקדמות
עליך להקים סביבת פיתוח Ruby מקומית במחשב שלך. קדם זה באמצעות מעקב אחד מהמדריכים הבאים:
- איך להתקין Ruby ולהגדיר סביבת תכנות מקומית על macOS
- איך להתקין את Ruby ולהגדיר סביבת תכנות מקומית ב-Ubuntu 16.04
- איך להתקין את Ruby ולהגדיר סביבת תכנות מקומית ב-Windows 10
שלב 1 — כתיבת תוכנית "שלום, עולם!" הבסיסית
כדי לכתוב את התוכנית "שלום, עולם!", פתחו עורך טקסט בשורת פקודה כמו nano
וצרו קובץ חדש:
- nano hello.rb
כשהקובץ הטקסט נפתח בחלון הטרמינל, תכתבו את התוכנית שלכם:
puts "Hello, World!"
בואו נפרט את הרכיבים השונים של הקוד.
puts
הוא שיטת Ruby method שאומרת למחשב להדפיס מלל למסך.
שיטת puts
מתבצעת לאחריה רצף של תווים — Hello, World!
, המוקף בגרשיים. תווים שנמצאים בין גרשיים נקראים string. שיטת puts
תדפיס את המחרוזת הזו למסך כאשר התוכנית מתבצעת.
כמה שיטות, כמו השיטה puts
, כלולות ברובי כברירת מחדל. כל השיטות המובנות אלו תמיד זמינות כאשר אתה יוצר תוכניות ברובי. תוכל גם להגדיר שיטות משלך.
שמור וצא מ־nano
על ידי הקלדת המקשים CONTROL
ו־X
, וכאשר תתבקש לשמור את הקובץ, לחץ על y
ואז הקש ENTER
.
בוא ננסה את התוכנית שלך.
שלב 2 — הרצת תוכנית Ruby
עם התוכנית "שלום, עולם!" שכתבת, אתה מוכן להריץ את התוכנית. תשתמש בפקודת ruby
, ואחריה שם הקובץ שברקע יצרת עכשיו.
- ruby hello.rb
התוכנית תוריד ותציג את הפלט הזה:
OutputHello, World!
בוא נחקור מה קרה בפועל.
הרצת הפקודה ruby
השיגרה את מפענח ה־Ruby. מפענח ה־Ruby קרא את הקובץ שצוין והעריך את התוכן שלו. הוא ביצע את השורה puts "Hello, World!"
על ידי קריאה לפונקציה puts
. הערך המחרוזתי של Hello, World!
הועבר לפונקציה.
בדוגמה זו, המחרוזת Hello, World!
נקראת גם פרמטר מאחר והיא ערך שמועבר לשיטה.
הציטוטים שנמצאים משני הצידים של Hello, World!
לא הודפסו למסך מכיוון שהם משמשים להודיע ל־Ruby שהם מכילים מחרוזת. סימן הציטוט מסמן את תחילת וסופה של המחרוזת.
התוכנית עובדת, אך ניתן להפוך אותה לאינטראקטיבית יותר. בואו נחקור כיצד.
שלב 3 — בקשת קלט
כל פעם שתפעילו את התוכנית שלכם, היא תציג את אותו הפלט. בואו נבקש מהאדם שמפעיל את התוכנית שלכם את שמו. אז תוכלו להשתמש בשם הזה בפלט.
במקום לשנות את התוכנית הקיימת שלכם, תיצרו תוכנית חדשה בשם greeting.rb
בעורך nano
:
- nano greeting.rb
ראשית, הוסיפו את השורה הזו, שמבקשת מהמשתמש להזין את שמו:
puts "Please enter your name."
שוב, תשתמשו בשיטת puts
כדי להדפיס טקסט למסך.
עכשיו הוסיפו את השורה הזו כדי לתפוס את קלט המשתמש:
puts "Please enter your name."
name = gets
השורה הבאה קצת יותר מעטפת. בואו נפרק אותה לחלקים.
השיטה gets
אומרת למחשב להמתין לקלט ממקלדת. זה משהה את התוכנית, מאפשר למשתמש להזין טקסט כלשהו שהוא רוצה. התוכנית תמשיך כאשר המשתמש ילחץ על המקש ENTER
במקלדת שלו. כל המקלדות, כולל המקלדת ENTER
, מותפסות ומומרות למחרוזת של תווים.
אתה רוצה להשתמש בתווים האלה בפלט של התוכנית שלך, אז אתה שומר את התווים האלה על ידי הקצאת המחרוזת למשתנה בשם name
. Ruby שומרת את המחרוזת הזו בזיכרון המחשב שלך עד שהתוכנית מסתיימת.
לבסוף, הוסף את השורה הזו להדפסת הפלט:
puts "Please enter your name."
name = gets
puts "Hi, #{name}! I'm Ruby!"
אתה משתמש בשיטת puts
שוב, אך הפעם אתה משתמש בתכונה של Ruby הנקראת אינטרפולציית מחרוזת, שמאפשרת לך לקחת את הערך שהוקצה למשתנה ולשים אותו בתוך מחרוזת. במקום המילה name
, תקבל את הערך ששמרת במשתנה name
, שצריך להיות שם המשתמש.
שמור וצא מ-nano
על ידי לחיצה על CTRL+X
, ולחיצה על y
כאשר מתבקש לשמור את הקובץ, ואז לחץ על ENTER
.
כעת הרץ את התוכנית באמצעות הפקודה הזו:
- ruby greeting.rb
תתבקש להזין את שמך, אז הזן אותו ולחץ על ENTER
. הפלט יכול שלא יהיה בדיוק מה שציפית:
OutputPlease enter your name.
Sammy
Hi, Sammy
! I'm Ruby!
במקום היי, סמי! אני Ruby!
, יש שורת שבירה ישירות אחרי השם.
התוכנית תפסה את כל הלחיצות על המקלדת שלך, כולל המקש ENTER
שלחצת כדי לספר לתוכנית להמשיך. במחרוזת, לחיצה על המקש ENTER
יוצרת תו מיוחד שיוצר שורה חדשה. הפלט של התוכנית עושה בדיוק מה שאמרת לו לעשות; הוא מציג את הטקסט שהזנת, כולל את השורה החדשה הזו. זה פשוט לא מה שרצית. אבל אתה יכול לתקן את זה.
פתח את קובץ greeting.rb
בעורך שלך:
- nano greeting.rb
איתר שורה זו בתוכנית שלך:
name = gets
name = gets.chop
זה משתמש בשיטת chop
של Ruby על המחרוזת שלפנינו באמצעות gets
. שיטת chop
מסירה את התו האחרון מהמחרוזת. במקרה זה, היא מסירה את תו השורה החדשה בסוף המחרוזת שנוצרה כשלחצנו על ENTER
.
שמור וצא מ-nano
. לחץ על CTRL+X
, ואז לחץ על y
כאשר מתבקש לשמור את הקובץ.
הפעל את התוכנית שוב:
- ruby greeting.rb
הפעם, לאחר שתקליד את שמך ולוחץ על ENTER
, תקבל את הפלט שציפית:
OutputPlease enter your name.
Sammy
Hi, Sammy! I'm Ruby!
כעת יש לך תוכנית Ruby שמקבלת קלט ממשתמש ומדפיסה אותו בחזרה למסך.
סיכום
עכשיו שאתה יודע איך לבקש קלט, לעבד את התוצאות, ולהציג פלט, נסה להרחיב את התוכנית שלך עוד יותר. לדוגמה, שאל את המשתמש על צבע האהוב עליו, ותגיב בכך שצבע האהוב על התוכנית הוא אדום. תוכל אפילו לנסות להשתמש בטכניקה זו ליצירת תוכנית Mad-Lib פשוטה.
Source:
https://www.digitalocean.com/community/tutorials/how-to-write-your-first-ruby-program