Elm:
כתיבה לפלט השגיאה הסטנדרטי
איך לעשות:
ב-Elm, כל פלט הוא דרך עצמי ה-DOM או תוך כדי שימוש ב-JavaScript Interop. יש לחבר את Elm ל-JS לכתיבה ל-stderr. אין פונקציה ישירה לזה.
port module Main exposing (..)
-- define a port to send error messages
port stderr : String -> Cmd msg
-- use the port in your Elm code
submit : String -> Cmd msg
submit message =
stderr "This is an error message sent to stderr"
main =
Html.beginnerProgram { model = model, view = view, update = update }
-- JavaScript side to actually write to stderr
var app = Elm.Main.fullscreen();
app.ports.stderr.subscribe(function(message) {
console.error(message);
});
שים לב: אין output ישיר ב-Elm.
Deep Dive
בשונה משפות תכנות אחרות, כמו Python או C, Elm עובד בדפדפן ואין לו גישה ישירה ל-stderr. אבן דרך היסטורית הייתה כש-Elm פיתח פיצ’ר של ports לצורך תקשורת עם JS. אלטרנטיבות כוללות שימוש ב-web workers או רשומי console.log אחרים בתוך JS.