כתיבה לפלט השגיאה הסטנדרטי

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.

ראה גם