ধরা যাক আমার কাছে নিম্নলিখিত রেকর্ড এডিটি রয়েছে:
data Foo = Bar { a :: Integer, b :: String, c :: String }
আমি এমন একটি ফাংশন চাই যা একটি রেকর্ড গ্রহণ করে এবং একটি রেকর্ড (একই ধরণের) ফেরত দেয় যেখানে ক্ষেত্রগুলির মধ্যে একটি ছাড়া সমস্ত ক্ষেত্রে আর্গুমেন্ট হিসাবে পাসের সাথে একই মান রয়েছে:
walkDuck x = Bar { a = a x, b = b x, c = lemonadeStand (a x) (b x) }
উপরের কাজগুলি, তবে আরও ক্ষেত্রগুলির সাথে একটি রেকর্ডের জন্য (বলুন 10
), এই জাতীয় ফাংশন তৈরি করা অনেকগুলি টাইপিংয়ের প্রয়োজন যা আমি মনে করি এটি যথেষ্ট অপ্রয়োজনীয়।
একই কাজ করার কি কোনও ক্লান্তিকর উপায় আছে?