مسیرها
/
Clojure
Clojure
/
تمرین‌ها
/
تمیز و برق‌زده
تمیز و برق‌زده

تمیز و برق‌زده

تمرین یادگیری

مقدمه

کار با کاراکترها

«کاراکتر»های Clojure از نوع داده‌های اولیه‌ی java.lang.Character هستند و می‌توانیم از طریق interop با متدهای کلاس Character آن‌ها را دستکاری کنیم:

(Character/isDigit \2)
;;=> true

ابزارهای رشته

Clojure یک کتابخانه‌ی قدرتمند پردازش رشته همراه دارد: clojure.string. این کار اغلب از interop طبیعی‌تر است.

دستورالعمل‌ها

در این تمرین، مجموعه‌ای ناقص از روال‌های کمکی را پیاده‌سازی می‌کنید که به یک برنامه‌نویس در پاک‌سازی اسم شناسه‌ها کمک می‌کند.

در ۵ کار، به‌تدریج تابع clean را می‌سازید. یک شناسه‌ی معتبر از صفر یا چند حرف و زیرخط تشکیل می‌شود.

در همه‌ی موارد، تضمین شده است که رشته‌ی ورودی nil نباشد. اگر رشته‌ی خالی به تابع داده شود، باید رشته‌ی خالی برگردانده شود.

توجه کنید که فراخوان باید از فراخوانی تابع با یک شناسه‌ی خالی بپرهیزد، چون چنین شناسه‌هایی بی‌اثرند.

1. هر فاصله‌ای را که ببینید با زیرخط جایگزین کنید

تابع clean را طوری پیاده‌سازی کنید که هر فاصله را با زیرخط جایگزین کند. این موضوع برای فاصله‌های ابتدا و انتهای رشته هم صدق می‌کند.

(clean "my   Id")
;;=> "my___Id"

2. کاراکترهای کنترلی را با رشته‌ی «CTRL» با حروف بزرگ جایگزین کنید

تابع clean را طوری تغییر دهید که کاراکترهای کنترلی را با رشته‌ی "CTRL" با حروف بزرگ جایگزین کند. یک کاراکتر زمانی کاراکتر کنترلی ISO به حساب می‌آید که کدش در بازه‌ی «\u0000» تا «\u001F» یا در بازه‌ی «\u007F» تا «\u009F» باشد.

(clean "my\u007FId")
;;=> "myCTRLId"

3. kebab-case را به camelCase تبدیل کنید

تابع clean را طوری تغییر دهید که kebab-case را به camelCase تبدیل کند.

(clean "à-ḃç")
;;=> "àḂç"

4. کاراکترهایی را که حرف نیستند حذف کنید

تابع clean را طوری تغییر دهید که هر کاراکتری را که حرف نیست حذف کند. توجه: زیرخط‌ها باید از مرحله‌ی قبل حفظ شوند.

(clean "1😀2😀3😀")
;; => ""

5. حروف کوچک یونانی را حذف کنید

تابع clean را طوری تغییر دهید که هر حرف یونانی در بازه‌ی «α» تا «ω» را حذف کند.

(clean "MyΟβιεγτFinder")
;;=> "MyΟFinder"
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Clojure Exercism

آماده‌اید تمیز و برق‌زده را شروع کنید؟

در Exercism ثبت‌نام کنید تا Clojure را همراه با 12 مفهوم105 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.