Ruby:
מציאת אורך מחרוזת
איך לעשות:
str = "שלום עולם"
puts str.length
# => 9
puts str.size
# => 9
puts str.bytesize
# => 18
הפלט מראה אורך המחרוזת בתווים ובבתים. בעיברית, גודל בבתים יכול להיות גדול יותר כי תווים עבריים מיוצגים על ידי יותר מבית אחד.
טבילה עמוקה:
במהלך השנים, שיטות לספירת תווים במחרוזות פותחו ושופרו. ברובי, length
ו-size
הם שני דרכים שקולות להשיג את אותו תוצאה. bytesize
, לעומת זאת, מחזיר את מספר הבתים שמשמשים לייצג את המחרוזת, שיכול להיות שונה במיוחד עם קידוד UTF-8 כאשר מדובר בתווים לא אנגליים. זה משמעותי לעבודה עם מערכות שדורשות ניהול נכון של אחסון או זרימת נתונים כגון פרוטוקולי רשת.
האלטרנטיבה לlength
ו-size
, בעיקרן, היו מתודות נפוצות בגרסאות ישנות יותר של שפות. עם הזמן, רובי החדירה גישה יותר אינטואיטיבית של טיפול במחרוזות דרך מתודות זהות אלה.
בנוסף, רקע התכנות תומך ברעיון של פעולות נתונים, כמו מעריכת אורך של מחרוזת, ככלי בסיסי עבור אימות ועיבוד מידע. ברובי, לספירת התווים מתייחסים לקוד המחרוזת עצמו ולא להצגתו, דבר שמעניק גמישות בעבודה עם סוגי טקסט שונים.