Ausführen von Julia .jl-Dateien


73

Ich bin neu in Julia und habe gerade mein erstes Programm beendet. Ich habe den Code in Julia-Studio geschrieben und ihn in diesem Programm getestet. Es gibt mir die richtige Ausgabe, aber die Shell trennt die Ausgabe, als ob es sich um zwei verschiedene Ausführungen handelt.

Ich frage mich, ob es ein Problem mit meinem Compiler ist, also dachte ich, ich würde versuchen, es in der Standard-Julia-Shell zu kompilieren, die auf julialang.org zu finden ist.

Ich kann jedoch nicht verstehen und / oder herausfinden, wie ich es dort ausführen soll. Mein aktuelles Programm liest Eingaben aus einer anderen Datei im selben Verzeichnis und gibt die Ergebnisse aus.

Kann mir jemand erklären, wie man das Programm ausführt. Diese http://julia.readthedocs.org/en/latest/manual/getting-started/ ergibt für mich keinen Sinn.

Beispielausgabe:

 julia> program
 #
 #
 #
 #


 julia> 
 #
 #
 #
 #
 #

Das # steht für Ganzzahlen. Idealerweise sollte die Ausgabe nicht durch "julia>" getrennt werden.

Antworten:


108

Wenn Sie das Julia-Skript über eine Befehlszeile ausführen möchten, tun Sie dies einfach

/path/to/julia script-name.jl

In der Hülle Ihrer Wahl.

Wenn du es von der Julia Repl ausführen willst, dann willst du so etwas:

julia> include("path/to/script-name.jl")

Ich denke, wir müssten Ihren Code sehen, warum Ihre Ausgabe so aufgeteilt ist.


1
Danke, das hat sehr geholfen. Nun, es half mir zu erkennen, dass ich nicht verrückt war. Anscheinend hatte ich die "Prerelease" -Version von Julia 0.3 heruntergeladen. Ich habe eine frühere Version heruntergeladen und die Datei julia.bat als Standardprogramm verwendet. Die Eingabeaufforderung zeigte die gesamte Ausgabe korrekt an.
user1748681

Wie füge ich Julia zum Pfad hinzu? Ich kann nicht einmal die Installationsdatei in meinem Laufwerk C finden.
Pragyaditya Das

War zu schwer, eine so einfache Antwort zu finden.
Djangofan

Gibt es einen Trick, um 'julia' im Hintergrund auszuführen und die Protokolldatei zu speichern? Ich habe versucht, ein .jl-Skript für 'shell' mit nohupauszuführen, aber die Datei 'nohup.out' ist nur leer. Danke
Godines

In Windows müssen Sie nur den Pfad julia.exe zur Variablen PATH hinzufügen, und es kann nur julia script-name.jl sein
NMech

6

Sie können Ihr Skript ändern und den Pfad zur Julia-Binärdatei in der Zeile to einfügen.

Betrachten Sie das folgende einfache Skript hello.jl

#!/usr/bin/julia
println("Hello world")

Ändern Sie die Berechtigung für das Skript mit

chmod a+x hello.jl

Führen Sie das Skript mit aus ./hello.jl


Die Version 0.5.0 scheint es woanders zu speichern: Gibt es bash: ./hello.jl: /usr/bin/julia: bad interpreter: No such file or directoryeine Idee, wo es zu finden ist?
Nightcod3r

Wenn Sie unter OS X das integrierte Installationsprogramm verwenden, ist es bei /Applications/Julia-0.5.app/Contents/Resources/julia/bin/julia. Am besten ist es in der Tat, eine weiche Verbindung zur Binärdatei herzustellen.
Sebastian Good

3
Es ist besser zu verwenden #!/usr/bin/env julia, um Probleme mit der genauen Julia-Position zu vermeiden
Dima Mironov

julia1.1 auf centos7. Ich habe es wie vorgeschlagen versucht. Der Pfad hat den Eintrag /opt/julia/julia-1.1.0/bin/julia. Das Aufrufen von Julia am Terminal bringt Julia zur Aufforderung. Test.jl Inhalt: Zeile1: #! /opt/julia/julia-1.1.0/bin/julia line2: println ("Terminalaufruftest"). Geänderte Berechtigung chmod + x /root/Test.jl #julia /root/Test.jl druckt die Zeile. Aber, #. /root/Test.jl wird als Shell-Skript interpretiert. Bitte leiten Sie mich bei der Lösung des Problems!
AVA

Durch Entfernen von Punkt (.) Zu Beginn des Befehls wird das Problem der Behandlung als Shell-Skript behoben.
AVA


2

Schritt 1: Terminal öffnen

Schritt 2: Gehen Sie zu Ihrem Julia-Speicherort

Schritt 3: Führen Sie die Julia-Datei aus

/path/to/folder script-julia.jl

Drücke den Aufwärtspfeil, wenn es dir hilft. Vielen Dank.


0

Sie können IntelliJ IDEA auch mit dem Plugin von Julia verwenden ... Das ist eine Überraschung

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.