با توجه به امتیاز حساسیت یک فرد، مشخص کنید که آیا او به مادهی مشخصی حساسیت دارد یا نه و فهرست کامل حساسیتهایش چیست.
آزمایش حساسیت یک امتیاز عددی واحد تولید میکند که اطلاعات مربوط به همهی حساسیتهای فرد (حساسیتهایی که برایشان آزمایش شده است) را در خود دارد.
فهرست مواد (و مقدارشان) که آزمایش شدهاند چنین است:
پس اگر تام به بادام زمینی و شکلات حساسیت داشته باشد، امتیاز او ۳۴ میشود.
حالا با داشتن فقط همان امتیاز ۳۴، برنامهی شما باید بتواند بگوید:
توجه: یک امتیاز مشخص ممکن است شامل آلرژنهایی باشد که در بالا فهرست نشدهاند (یعنی آلرژنهایی با امتیاز ۲۵۶، ۵۱۲، ۱۰۲۴ و غیره). برنامهی شما باید آن مؤلفههای امتیاز را نادیده بگیرد. برای مثال، اگر امتیاز حساسیت ۲۵۷ باشد، برنامهی شما باید فقط حساسیت تخممرغ (۱) را گزارش کند.
برای کامل کردن این تمرین باید نوع دادهی Allergen را، همراه با نمونههای Eq و Show، بسازید و توابع زیر را پیادهسازی کنید:
allergiesisAllergicToیک اعلان دادهی ساختگی و امضاهای نوع از قبل در جای خود قرار دارند، اما تعریف توابع و ساختن یک نوع داده، یک newtype یا یک مترادف نوعِ معنادار به عهدهی خودتان است.
در Exercism ثبتنام کنید تا Haskell را همراه با 107 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.
جابهجایی بیتها، مقایسهی بیتی و دیگر مفاهیم اعداد دودویی را بررسی میکنیم! نگاهی هم به راهحلی با استفاده از تطبیق الگو و رویکردی جالب در Erlang با استفاده از بازگشت میاندازیم.