تابعی در روبی بنویسید که یک آرایه از اعداد را گرفته، با استفاده از متدهای Enumerable اعداد زوج را فیلتر کند، هر عدد زوج را نصف کند و حاصل را به صورت آرایهٔ مرتبشده صعودی برگرداند.
14.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:57 0.0
این سوال را با استفاده از متدهای Enumerable زبان روبی مثل select (یا reject)، map و sort حل کنید؛ برای تشخیص زوج بودن میتوانید از even? استفاده کنید و برای نیم کردن از تقسیم مناسب (صحیح یا اعشاری) مطمئن شوید. نکتهها: متدها را زنجیرهای صدا بزنید (مثلاً array.select(&:even?).map { |n| n/2.0 }.sort)، و توجه کنید که ورودی خالی باید آرایهٔ خالی برگرداند؛ میتوانید با آرایههایی مانند [1,2,3,4] خروجی [1.0,2.0] را تست کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیادهسازی تابع روبی از زنجیرهای از متدهای Enumerable استفاده کنید: select برای فیلتر زوجها، سپس map برای نصف کردن هر عدد با تقسیم 2.0 تا مقدار اعشاری به دست آید، و در نهایت sort برای مرتبسازی صعودی. استفاده از &:even? برای تشخیص زوج بودن و استفاده از تقسیم اعشاری با 2.0 (یا n.fdiv(2)) باعث تولید خروجی دقیق میشود. ورودی خالی نیز به همان ترتیب خروجی خالی برمیگرداند. برای تست میتوانید با [1,2,3,4] نتیجهٔ [1.0, 2.0] را مشاهده کنید.
گزارش