Haskell:
मानक त्रुटि के लिए लिखना
कैसे:
हास्केल में, stderr पर लिखना बेस लाइब्रेरी के System.IO
मॉड्यूल के साथ सीधा है। निम्नलिखित बेसिक उदाहरण इसे प्रदर्शित करता है:
import System.IO
main :: IO ()
main = do
hPutStrLn stderr "यह एक त्रुटि संदेश है।"
इस प्रोग्राम का stderr पर आउटपुट होगा:
यह एक त्रुटि संदेश है।
यदि आप एक जटिल एप्लिकेशन में काम कर रहे हैं, या यदि आपको लॉगिंग (गलतियों सहित) पर बेहतर नियंत्रण की आवश्यकता है, तो आप एक तृतीय-पक्ष लाइब्रेरी के लिए चुन सकते हैं। एक लोकप्रिय विकल्प monad-logger
है जो हास्केल प्रोग्रामिंग की mtl
शैली के साथ एकीकृत होता है। यहाँ monad-logger
का एक छोटा स्निपेट है:
{-# LANGUAGE OverloadedStrings #-}
import Control.Monad.Logger
main :: IO ()
main = runStderrLoggingT $ do
logErrorN "मोनाड-लॉगर का उपयोग करके यह एक त्रुटि संदेश है।"
जब चलाया जाता है, monad-logger
संस्करण समान रूप से एक त्रुटि संदेश को आउटपुट करता है, लेकिन यह टाइमस्टैम्प्स या लॉग स्तरों जैसे अधिक संदर्भ के साथ सुसज्जित है, विन्यास के आधार पर:
[Error] मोनाड-लॉगर का उपयोग करके यह एक त्रुटि संदेश है।
दोनों तरीके stderr को लिखने के उद्देश्य को पूरा करते हैं, चुनाव आपके एप्लिकेशन की जटिलता और आवश्यकताओं के आधार पर बड़े पैमाने पर निर्भर करता है।