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
של רובי מדפיס שורה חדשה רק אם תציין \n. לדוגמה, נסה את הקוד הבא. אנו כוללים שורה חדשה בסוף רשימת הארגומנטים של print
כך שתופיע בשורה חדשה אחרי הטקסט.
print "Say", "hello", "to", "the", "world", "\n"
התוצאה: Sayhellototheworld
הקוד הבא יוצר את אותו פלט.
print "Say"
print "hello"
print "to"
print "the"
print "world"
print "\n"
הפרק הקודם: שלום עולם! |
מחרוזות | הפרק הבא: ציון מלל |