Ruby/מחרוזות


כמו בPython, Java, ו. NET Framework, לרובי יש Strings class מובנית.

מחרוזת מילוליתעריכה

אחת הדרכים ליצור מחרוזת היא להשתמש בגרש יחיד או גרשיים בתוך תוכנית רובי כדי ליצור מחרוזת מילולית. אנחנו כבר עשינו את זה עם התוכנית שלנו "שלום עולם". עדכון מהיר לקוד שלנו מראה את השימוש בשני ציטוטים יחיד וכפול.

puts "שלום עולם"
puts 'שלום עולם'


היכולת להשתמש במרכאות או בגרש דומה לפרל, אבל שונה משפות כגון C ו-Java, שמשתמשות במרכאות כפולות עבור כמה תווים ובגרשים בודדים עבור תווים בודדים. אז מה ההבדל בין גרשיים בודדים ומרכאות כפולות ברובי? בקוד לעיל, אין הבדל. עם זאת, ראה את הקוד הבא:

puts "החנות של ג'ימי"
puts 'החנות של ג\'ימי'

בגלל ש"ג'ימי" מכיל גרש, בשורה השנייה אנו צריכים להשתמש בלוכסן גרש. כך רובי מבינה שהגרש הוא במחרוזת המילולית במקום שיסיים המחרוזת מילולית. לוכסן ואחריו גרש נקרא escape sequence.

גרשעריכה

בגרש אחד יש רק 2 escape sequence.

  • \' – גרש
  • \\ – לוכסן

מלבד אלה, כל דבר אחר בין גרשיים בודדים יוצג כפי שהוא.

מרכאותעריכה

מרכאות מאפשרות הרבה יותר escape sequence מאשר 2 ה escape sequenceשל גרש בודד. הם גם מאפשרים להטביע משתנים או קוד רובי במחרוזת מילולית – לעיתים שכיחות מכונה- אינטרפולציה.

puts "Enter name"
name = gets.chomp
puts "Your name is #{name}"

Escape sequencesעריכה

להלן כמה escape sequences נפוצים יותר שיכולים להופיע בתוך המרכאות. \ "- מרכאות \ \ - לוכסן

  • \a bell/alert
  • \b – מקש אחורי (backspace)
  • \r – שורה חדשה (ע"י מקש ה"אנטר")
  • \n – שורה חדשה
  • \s space
  • \t – הזחה

נסה את הקוד הזה למשל כדי להבין טוב יותר את הescape sequences.

puts "Hello\t\tworld"

puts "Hello\b\b\b\b\bGoodbye world"
 
puts "Hello\rStart over world"
 
puts "1. Hello\n2. World"

התוצאה: Hello world

Goodbye world
Start over world
1. Hello
2. World
שימו לב כי הescape sequence שורה חדשה (בשורה האחרונה של הקוד) פשוט מתחיל שורה חדשה.

bell character, המיוצר על ידי escape sequence \a, נחשב תו שליטה. התו לא מייצג מכתב של האלפבית, סימן קריאה, או כל סמל אחר בכתב. במקום זאת, הוא מנחה את המסוף לתת "התראה" למשתמש. זה תלוי במסוף אמולטור כדי לקבוע את הפרטים של איך להגיב, למרות שצליל ביפ הוא סטנדרטי למדי. חלק מהמסופים יהבהבו בקצרה. הפעל את הקוד הבא רובי כדי לבדוק כיצד המסוף שלך מטפל ב bell character:

puts "\aHello world\a"

putsעריכה

אנחנו כבר משתמשים בפונקציה puts לא מעט כדי להדפיס את הטקסט. בכל פעם שputs מדפיס טקסט, הוא אוטומטית מדפיס שורה חדשה אחרי הטקסט. לדוגמה, נסה את הקוד הבא.

puts "Say", "hello", "to", "the", "world"

התוצאה: Say

hello
to
the
world

printעריכה

לעומת זאת, פונקציית הprint של רובי מדפיס שורה חדשה רק אם תציין \n. לדוגמה, נסה את הקוד הבא. אנו כוללים שורה חדשה בסוף רשימת הארגומנטים של print כך שתופיע בשורה חדשה אחרי הטקסט.

 print "Say", "hello", "to", "the", "world", "\n"

התוצאה: Sayhellototheworld


הקוד הבא יוצר את אותו פלט.

print "Say"
print "hello"
print "to"
print "the"
print "world"
print "\n"


הפרק הקודם:
שלום עולם!
מחרוזות הפרק הבא:
ציון מלל