לדלג לתוכן

1.4 - טקסט ואוספים ובעלות על האחסון שלהם - תרגול

תרגול חיתוך טקסט וספירת מילים

כתבו פונקציה שמקבלת &str ותקציב בייטים, ומחזירה את הקידומת הארוכה ביותר שאינה חורגת מהתקציב ומסתיימת בגבול UTF-8 חוקי. הפונקציה צריכה להחזיר מבט לקלט, בלי להקצות מחרוזת חדשה.

בדקו את הטקסט שלום עם תקציבים אפס, אחד, שניים, שלושה ושמונה. הוסיפו גם קלט ASCII וקלט ריק. הסבירו מדוע אין די בחיתוך של min(text.len(), budget).

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