Führen Sie Java-Code skriptweise aus

Einführung

Magst du Bäder, alle? Ich mag das. Es ist eine gute Zeit, um in einem warmen Bad zu baden und sich zu entspannen. Es ist seltsam, und wenn Sie etwas anderes als das Programmieren tun, haben Sie etwas mit dem Programmieren zu tun. Dies war auch der Fall. Eines Tages, als ich wie immer im Bad verblüfft war, blitzte es plötzlich auf. "Kann JShell eine Datei lesen, in der Java-Code geschrieben ist, und seinen Inhalt ausführen?" "Wenn es möglich ist, kann es Java-Code wie ein Skript ausführen?" Hand.

Es scheint, dass es Menschen auf der Welt gibt, die programmieren, während sie ein Bad nehmen, aber leider habe ich dieses Niveau nicht erreicht, so dass ich es nicht sofort versuchen kann. Ich konnte nicht anders, also verließ ich früh das Badezimmer und achtete darauf, den Blitz nicht zu vergessen.

Versuchen

Ziehen Sie Ihre Loungewear an, öffnen Sie Ihr MacBook und googeln Sie mit solchen Schlüsselwörtern. Wie erwartet scheint JShell in der Lage zu sein, eine Datei mit Java-Code zu lesen und ihren Inhalt auszuführen. Versuchen Sie es sofort. Da JShell verwendet wird, können die folgenden Beispiele nur mit Java 9 oder höher ausgeführt werden. Ich weiß es nicht.

Code

test.jsh


System.out.println("Kitty on your lap")
/ex

Dies ist alles, was Sie mit JShell tun müssen. Kein Semikolon erforderlich. / ex ist der Endbefehl von JShell und ohne ihn befindet es sich im Zustand der interaktiven Ausführung von JShell.

Lauf

jshell test.jsh

Sie müssen lediglich den Dateinamen an den Befehl jshell übergeben. Es hat eine Weile gedauert, bis es ausgeführt wurde, nachdem ich Enter </ kbd> gedrückt hatte, aber es wurde nur "Kitty auf deinem Schoß" angezeigt. Es ist wunderbar. Die Erweiterung der Datei lautet .jsh und folgt dem unten stehenden Referenzlink. Sie scheint jedoch auch mit anderen Erweiterungen zu funktionieren. Sie können .java verwenden, wenn Sie möchten. (Es ist verwirrend, aber ...)

verdienen

Nun, da diese Ausführungsmethode JShell verwendet, sollte der Wert von JShell selbst der Wert dieser Ausführungsmethode sein. Mit anderen Worten, es hat die folgenden Vorzüge. (Ausgenommen die Vorteile der direkten Ausführung auf JShell, z. B. das Ausfüllen von Registerkarten)

Es ist wunderbar. (Wortschatz) Meine Brust, die bereits nach dem Baden brannte, wurde noch heißer.

Versuchen Sie etwas mehr

Die obigen 4. und 5. Verdienste können im obigen Beispiel nicht bestätigt werden, daher werde ich ein weiteres Beispiel schreiben. Code, der eine Textdatei liest und die Zeilen anzeigt, die "hoge" enthalten.

test2.jsh


try(Stream<String> lines = Files.lines(Paths.get("test.txt"))) {
    lines.filter(line -> line.contains("hoge"))
            .forEach(System.out::println);
}
/ex

Sie können Stream, Dateien und Pfade verwenden, ohne sie explizit zu importieren. Files.lines () kann auch eine IOException auslösen, funktioniert jedoch ohne Code zur Behandlung der IOException. Es ist ziemlich schön, kurz für Java zu schreiben. In diesem Beispiel schien das Semikolon jedoch nicht weggelassen werden zu können. (Ein Fehler ist aufgetreten, wahrscheinlich ein interner Fehler bei der Kompilierung.)

Fehler

Als mein Körper kälter wurde, wurde auch mein Kopf kälter.

Obwohl es für Java kurz ist und ohne explizite Kompilierung ausgeführt werden kann, ist es in Bezug auf Codekürzung und einfache Ausführung nicht mit Skriptsprachen wie Python und Ruby vergleichbar. Es scheint auch besser zu sein, den unten stehenden Referenzlink für Details zu lesen, aber es ist in Bezug auf die Leistung nachteilig im Vergleich zur Ausführung mit dem normalen "Java" -Befehl.

Wenn das passiert, kann ich mir nicht viele Anwendungsfälle vorstellen. In den meisten Fällen ist es besser, die Skriptsprache zu verwenden. Wenn Sie ein Snippet für eine schnelle Überprüfung der Java-Operation ausführen möchten, reicht es häufig aus, JShell direkt einzugeben. Kann es von Leuten verwendet werden, die nur Java schreiben können oder die sich speziell mit Java beschäftigen und Skripte schreiben möchten? Der große Nachteil ist, dass es nur eine solche Nischennachfrage decken kann ...

Zusammenfassung

Referenzlink

http://d.hatena.ne.jp/bitter_fox/20160703/1467577784

Beiseite

  • Wenn Sie Java 11 oder höher haben, können Sie eine normale Java-Quelle direkt mit dem Befehl java ausführen.
  • http://nowokay.hatenablog.com/entry/20180617/1529239404
  • Es ist gefährlich zu schlafen, während Sie im Bad einweichen. Wenn Sie müde sind, seien Sie vorsichtig
  • Es ist gefährlich zu programmieren, während Sie im Bad einweichen. Wenn Sie dies auf eigenes Risiko tun

Recommended Posts

Führen Sie Java-Code skriptweise aus
Java-Code-TIPPS
Java-Beispielcode 02
Java-Beispielcode 03
Java-Beispielcode 04
Java-Beispielcode 01
Java-Zeichencode
Beispielcode für elektronische Signatur (JAVA)
Java Parallel Code Sample Collection
Sammlung von Java-Testcode-Methoden
[Windows] Java-Code ist verstümmelt
Java
Java mit Visual Studio Code
Schreiben Sie Java8-ähnlichen Code in Java8
Java
Errate den Zeichencode in Java
Code Java von Emacs mit Eclim
Java Spring-Umgebung in vs Code
Java 9 neue Funktionen und Beispielcode
[Java] Eliminierung des Kesselplattencodes mit Lombok
Erstellen Sie Java mit Mac vs Code
Beliebiger Code zum Erstellen von Zeichenfolgen durch Java
Führen Sie gepackten Java-Code mit Befehlen aus
Java-Quellcode zum Lesen der Klasse java.lang.Math
[Java] Eliminierung des Kesselplattencodes mit Lombok 2
Führen Sie das Shell-Skript von tomcat auf java8 aus
Java-Entwicklungsumgebung (Mac, VS Code)
[Android] Konvertieren Sie Android Java-Code in Kotlin
Beispielcode mit Minio aus Java
Grundstruktur des Java-Quellcodes
Java lernen (0)
Java studieren ―― 3
[Java] -Array
Java geschützt
[Java] Anmerkung
Bereiten Sie die Java-Entwicklungsumgebung mit VS Code vor
Java-Array
Java studieren ―― 9
Java Scratch Scratch
Java-Methoden
Java-Methode
Java (Konstruktor)
Java-Array
[Java] ArrayDeque
Java (überschreiben)
Java (Methode)
Java Day 2018
Java-Zeichenfolge
Java (Array)
Java statisch
Java-Serialisierung
Java Anfänger 4
JAVA hat bezahlt
Java studieren ―― 4
Java (gesetzt)
Java-Shell-Sortierung
[Java] compareTo
Java studieren -5
Verknüpfen Sie Java- und C ++ - Code mit SWIG
Java reflektierend 获 获 举