یک آرایه از هشها که هر کدام دارای کلیدهای :name و :price هستند بگیرید؛ آرایه را بهصورت صعودی بر اساس قیمت مرتب کنید و سپس نام اولین محصولی را که قیمتش کمتر از یک مقدار ورودی است برگردانید.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:34 0.0
با استفاده از زبان Ruby از متدهای Enumerable مثل sort_by برای مرتبسازی بر اساس h[:price] و از find یا detect برای جستجوی اولین عنصر مطابق شرط (h[:price]
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته کلیدی این است که قبل از مقایسه قیمتها، مقادیر درون :price را به عدد تبدیل کنیم تا با انواع دادهها مانند رشتهها سازگار باشیم. با استفاده از sort_by { |h| h[:price].to_f } آرایه را بهطور صعودی مرتب کنیم و سپس با find یا detect اولین عنصر را که h[:price].to_f < threshold دارد بیابیم. اگر هیچ محصولی یافت نشود، میتواند nil بازگردانده شود یا پیغام مناسبی ارائه گردد تا کدنویسی مصرفکننده روشن باشد. همچنین استفاده از بلاک کوتاه مثل {|h| h[:price]} خوانایی را افزایش میدهد، اما اگر امکان وجود مقدار nil یا غیر numeric وجود دارد، بهتر است ورودیها را پیش از مقایسه اعتبارسنجی کنیم.
گزارش