Haskell:
ইয়ামেল নিয়ে কাজ করা
কিভাবে:
Haskell এ YAML প্রক্রিয়াজাতিতে নির্মিত সমর্থন নেই, তবে আপনি yaml
এবং aeson
এর মত তৃতীয়-পক্ষের লাইব্রেরি ব্যবহার করে YAML ডেটা পার্সিং এবং জেনারেট করতে পারেন। এখানে আপনি কিভাবে শুরু করতে পারেন:
YAML পড়া
প্রথমত, আপনার প্রকল্পের নির্ভরতা হিসেবে yaml
প্যাকেজ যোগ করুন। তারপরে, আপনি নিম্নলিখিত উদাহরণ ব্যবহার করে একটি সাধারণ YAML ডকুমেন্ট পার্স করতে পারেন:
{-# LANGUAGE OverloadedStrings #-}
import Data.YAML
import Data.ByteString (ByteString)
import Control.Monad.IO.Class (liftIO)
-- উদাহরণ YAML ডেটা
yamlData :: ByteString
yamlData = "
name: জন ডো
age: 30
"
-- একটি ডেটা কাঠামো সংজ্ঞা দিন যা YAML ডকুমেন্টের সাথে মিলে যায়
data Person = Person
{ name :: String
, age :: Int
} deriving (Show)
instance FromYAML Person where
parseYAML = withMap "Person" $ \m -> Person
<$> m .: "name"
<*> m .: "age"
main :: IO ()
main = do
let parsed = decode1 yamlData :: Either (Pos,String) Person
case parsed of
Left err -> putStrLn $ "YAML পার্সিং ত্রুটি: " ++ show err
Right person -> print person
উপরের কোডের জন্য নমুনা আউটপুট হতে পারে:
Person {name = "জন ডো", age = 30}
YAML লেখা
Haskell ডেটা কাঠামো থেকে YAML জেনারেট করার জন্য, নিচের মত করে yaml
প্যাকেজের এনকোডিং ফাংশনালিটি ব্যবহার করতে পারেন:
{-# LANGUAGE OverloadedStrings #-}
import Data.YAML
import Data.ByteString.Lazy.Char8 (unpack)
-- পূর্ববর্তী উদাহরণ থেকে Person ডেটা কাঠামো ব্যবহার করা হচ্ছে
person :: Person
person = Person "জেন ডো" 25
main :: IO ()
main = do
let yamlData = encode1 person
putStrLn $ unpack yamlData
এই প্রোগ্রামের আউটপুট হবে একটি YAML-ফরম্যাটেড স্ট্রিং:
name: জেন ডো
age: 25
এই উদাহরণগুলি Haskell এ YAML নিয়ে কাজ করার শুরুতে সাহায্য করা উচিত। আপনার প্রয়োজনানুসারে, আপনি এই লাইব্রেরিগুলি দ্বারা প্রদত্ত আরো উন্নত বৈশিষ্ট্য এবং বিকল্পগুলি অন্বেষণ করতে চাইতে পারেন।