Haskell:
सबस्ट्रिंग्स निकालना
How to: (कैसे करें:)
-- `take` फ़ंक्शन का इस्तेमाल करके
takeSubstring :: Int -> String -> String
takeSubstring n = take n
-- `drop` और `take` का इस्तेमाल कर विशिष्ट जगह से लेना
extractSubstring :: Int -> Int -> String -> String
extractSubstring start end = take (end - start) . drop start
-- उदाहरण एवं आउटपुट
main :: IO ()
main = do
let text = "Hello, Haskell!"
putStrLn $ takeSubstring 5 text -- "Hello"
putStrLn $ extractSubstring 7 14 text -- "Haskell"
Deep Dive (गहन जानकारी)
तार से उप-तार निकालने का विचार C भाषा के ‘substring’ कार्यों से विकसित हुआ है। Haskell में, तार को ’lists’ के रूप में समझा जाता है, जिससे उप-तार का निर्माण सूची संचालनों के जरिए होता है। take
और drop
दो मौलिक फंक्शन हैं जो उपयोगी होते हैं। Data.Text
मॉड्यूल अन्य विकल्प प्रदान करता है जिसमें takeEnd
, dropEnd
, और splitAt
शामिल हैं जो अधिक कुशलता से काम करते हैं। लेकिन यह सभी ऑपरेशन हास्केल के लेजी इवैल्यूएशन का लाभ उठाते हैं, जिसका अर्थ है कि उप-तार तब तक नहीं बनाया जाता जब तक वह वास्तव में जरूरी न हो।
See Also (और भी देखें)
- Haskell
Data.Text
पैकेज: https://hackage.haskell.org/package/text - Lazy Evaluation in Haskell: https://wiki.haskell.org/Lazy_evaluation
- List functions in Haskell: https://hackage.haskell.org/package/base-4.16.0.0/docs/Data-List.html