Elm:
कमांड लाइन आर्गुमेंट्स पढ़ना
How to: (कैसे करें:)
ध्यान दें, Elm में डायरेक्ट कमांड लाइन आर्गुमेंट्स पढ़ना सपोर्टेड नहीं है क्योंकि यह फ्रंट-एंड वेब प्रोग्रामिंग के लिए बनाया गया है। परन्तु, अगर आप एक Elm प्रोग्राम को Node.js पर चला रहे हैं, तो आप flags की मदद से आर्गुमेंट्स पास कर सकते हैं। यहां एक उदाहरण है:
port module Main exposing (..)
port toJs : String -> Cmd msg
main =
Program.worker
{ init = init
, update = update
, subscriptions = subscriptions
}
init flags =
([], toJs flags)
update msg model =
(model, Cmd.none)
subscriptions model =
Sub.none
और फिर JavaScript में:
const { Elm } = require('./elm.js');
const app = Elm.Main.init({
flags: process.argv.slice(2).join(" ")
});
app.ports.toJs.subscribe(console.log);
सैंपल आउटपुट:
node main.js Hello Elm!
"Hello Elm!"
Deep Dive (गहराई से समझें):
Elm में कमांड लाइन आर्गुमेंट्स डायरेक्ट पढ़ने की क्षमता नहीं है क्योंकि इसकी मुख्य फोकस वेब ब्राउजर में चलने वाले एप्लिकेशन्स पर है। जहाँ तक इतिहास की बात है, Elm ऐसे डिजाइन किया गया था कि वह प्रिडिक्टेबल वेब एप्स बनाने में मदद करे।
अल्टरनेटिव के रूप में आप Node.js सर्वर या इलेक्ट्रॉन जैसे टूल्स के साथ Elm को यूज कर सकते हैं, जहां आप ‘flags’ की मदद से जरूरी डाटा Elm प्रोग्राम को भेज सकते हैं। इंप्लीमेंटेशन में आमतौर पर यूज ऑफ जावास्क्रिप्ट इंटरऑप का होता है, जैसा कि ऊपर उदाहरण में दिखाया गया है।
See Also (और भी देखें):
- Elm official guide on interop with JavaScript: Elm Guide: Interop
- Elm package for server-side applications (Elm 0.19.1+): elm-fullstack
- Detailed article about Elm and Node.js: Elm and Node.js