מציאת אורך מחרוזת

Lua:
מציאת אורך מחרוזת

איך לעשות:

-- מציאת אורך המחרוזת
local message = "שלום עולם"
local length = #message
print(length)  -- יוצג: 10

הערה חשובה: בלואה, אורך המחרוזת נמדד בתווים. אם יש לכם אותיות כגון “ש” או “ל”, שזה unicode, ייתכן שהתוצאה לא תהיה מה שאתם מצפים.

-- דוגמה נוספת עם לולאה
for i = 1, #message do
    local char = message:sub(i, i)
    print("תו מספר " .. i .. ": " .. char)
end
-- יוצג כל תו במחרוזת והאינדקס שלו

עיון מעמיק

בלואה, סימן השאילתה # משמש לקבלת אורך של מחרוזת (או טבלא). בעבר, פונקציות כמו string.len או strlen שימשו בשפות אחרות לאותו מטרה. באימפלימנטציות המודרניות של לואה, הסימן # הוא דרך ישירה ומהירה לגלות את אורך המחרוזת.

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

בסביבות עבודה שונות, קידוד גרפים כמו UTF-8 יכול לגרום לבלבול. בעזרת תוספים או כלים חיצוניים כגון ‘slj-utf8’ ניתן לקבל את האורך המדויק של מחרוזת בפורמט UTF-8.

קישורים נוספים