Frage

Console.WriteLine(
    PowerShell
      .Create()
      .AddScript("'Hello from PowerShell'")
      .Invoke()[0]
);

Hier sind Ironpython und IronRuby

Python.CreateEngine()
    .Execute("print 'Hello from IronPython'");

Ruby.CreateEngine()
    .Execute("puts 'Hello from IronRuby'");
War es hilfreich?

Lösung

Ja.

Im Allgemeinen müssten Sie beim Erstellen eines "echten" PowerShell-Hosts jeder Pipeline "Out-Default" hinzufügen und dann die Host-API (UI.WriteLine) implementieren, damit die Ausgabe irgendwo angezeigt wird.

Aber für eine einfache "Hallo Welt" ... ist die Ausgabe von .Invoke () das einfachste.

Ich hoffe immer noch, dass eine zukünftige Veröffentlichung von PowerShell auf der DLR basiert und dieselbe Syntax wie die Eisen -Sprachen jetzt für das einfache Aufrufen tun ... aber ich weiß nicht, ob Sie selbst dann bekommen würden Eine so automatische Ausgabe (ich bin mir nicht sicher, ob ich es überhaupt möchte), da dies im Grunde genommen erforderlich ist, dass der aktuelle Standard "ConsoleHost" in den Motor eingebaut wird (oder so).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top