עבודה עם מחרוזת מרובת בתים ברובי

במידה שאתם צריכים לעבוד עם תווי multi-byte  כדוגמת עברית ב UTF-8, בברירת מחדל רובי לא יודע לזהות שזו כוונתכם.

אם נרצה לעשות איטרציה על כל תו בצורה הזו, נראה שנקבל בית בית במקום גודל של מילה. לשם כך צריך להתקין (אם לא מותקן לכם) המודול של Unicode ע"י מנהל החבילות שלכם או על ידי שימוש ב gem:

$ gem install unicode

ועכשיו בקוד יש להוסיף את 2 השורות הבאות:

require 'unicode'
$KCODE = 'UTF-8'

ועכשיו אם נרצה לעבור על תווים שהם utf-8, נוכל לעשות זאת ללא בעיה:

'שלום עולם'.each_char do |ch|
puts ch
end
ש
ל
ו
ם

ע
ו
ל
ם

ועכשיו אפשר לדעת שהמחרוזת יודעת לזהות מחרוזת מרובת תווים.

חשוב לדעת שהמודול אינו מושלם ואינו תומך בצורה מלאה בכל המתודות של String.

כתיבת תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s