Bob एक आलसी किशोर है। वह खुद को बहुत कूल समझता है। और चीज़ों को लेकर वह बिल्कुल भी उत्साहित नहीं होता। ऐसा करना कूल नहीं कहलाता।
जब लोग उससे बात करते हैं, तो उसके जवाब काफी सीमित होते हैं।
आपका काम यह पता लगाना है कि जब कोई बॉब से कुछ कहता है या उससे कोई सवाल पूछता है, तो बॉब क्या जवाब देगा।
बॉब हमेशा पाँच बातों में से एक ही कहता है:
आपको responseFor फंक्शन बनाना है, जो दिए गए इनपुट के लिए Bob का जवाब लौटाता है। अगर आपको टाइप के बारे में पक्का नहीं पता, तो आप दिए गए सिग्नेचर का इस्तेमाल कर सकते हैं, लेकिन इसे अपनी रचनात्मकता सीमित करने मत दीजिए:
responseFor :: String -> String
इस अभ्यास को हल करने के लिए आप इनके बारे में पढ़ सकते हैं:
यह अभ्यास टेक्स्ट डेटा के साथ काम करता है। ऐतिहासिक कारणों से Haskell का String टाइप [Char] का पर्यायवाची है, यानी अक्षरों का एक ऐरे। टेक्स्ट डेटा को अधिक कुशलता से संभालने के लिए Text टाइप का उपयोग किया जा सकता है।
इस अभ्यास के एक वैकल्पिक विस्तार के तौर पर, आप ये कर सकते हैं:
Haskell में स्ट्रिंग टाइप के बारे में पढ़िए।
package.yaml में अपनी डिपेंडेंसी की सूची में - text जोड़ दीजिए।
Data.Text को इस तरीके से इंपोर्ट कीजिए:
import qualified Data.Text as T
import Data.Text (Text)
अब आप उदाहरण के लिए responseFor :: Text -> Text लिख सकते हैं और Data.Text के कॉम्बिनेटरों को, जैसे T.isSuffixOf, इस्तेमाल कर सकते हैं।
Data.Text का डॉक्युमेंटेशन देखिए,
इसके बाद आप Bob.hs में हर जगह String की जगह Text लिख सकते हैं:
responseFor :: Text -> Text
यह हिस्सा पूरी तरह से वैकल्पिक है।
Exercism पर साइन अप कीजिए और Haskell को 107 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।