Getting Started Julia

無論是使用預編譯二進制文件還是從源代碼編譯,Julia安裝都很簡單。按照https://julialang.org/downloads/上的說明下載并安裝Julia 。

學習和試驗Julia的最簡單方法是通過雙擊Julia可執(zhí)行文件或julia從命令行運行來啟動交互式會話(也稱為read-eval-print循環(huán)或“REPL”):

$ julia

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.1 (2018-09-29)
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |


julia> 1 + 2
3

julia> ans
3

要退出交互式會話,請鍵入CTRL-D(按下Control / ^鍵和鍵一起d),或鍵入exit()。在交互模式下運行時,julia顯示橫幅并提示用戶輸入。一旦用戶輸入了完整的表達式,例如1 + 2,并且命中輸入,交互式會話將評估表達式并顯示其值。如果將表達式輸入到帶有分號分號的交互式會話中,則不會顯示其值。ans無論是否顯示,變量都綁定到上次計算的表達式的值。該ans變量僅在交互式會話中綁定,而不是在以其他方式運行Julia代碼時。

要評估在源文件file.jl中編寫的表達式,請編寫include("file.jl")。

要以非交互方式在文件中運行代碼,可以將其作為julia命令的第一個參數(shù):

$ julia script.jl arg1 arg2...

如示例所示,以下命令行參數(shù)將julia被解釋為程序的命令行參數(shù)script.jl,并在全局常量中傳遞ARGS。腳本本身的名稱作為全局傳遞PROGRAM_FILE。請注意,ARGS當使用-e命令行上的選項(請參閱julia下面的幫助輸出)給出Julia表達式時,也會設置該值,但PROGRAM_FILE它將為空。例如,要只打印給腳本的參數(shù),您可以這樣做:

$ julia -e 'println(PROGRAM_FILE); for x in ARGS; println(x); end' foo bar

foo
bar

或者您可以將該代碼放入腳本并運行它:

$ echo 'println(PROGRAM_FILE); for x in ARGS; println(x); end' > script.jl
$ julia script.jl foo bar
script.jl
foo
bar

所述--分隔符可以被用于旨在用于從用于朱莉婭參數(shù)的腳本文件單獨的命令行參數(shù):

$ julia --color=yes -O -- foo.jl arg1 arg2..

Julia可以使用-p或--machine-file選項以并行模式啟動。-p n將啟動一個額外的n工作進程,同時--machine-file file將為文件中的每一行啟動一個worker file。file必須通過無密碼ssh登錄訪問定義的計算機,|并將Julia安裝在與當前主機相同的位置。每個機器定義都采用這種形式[count*][user@]host[:port] [bind_addr[:port]]。user默認為當前用戶,port標準ssh端口。count是在節(jié)點上生成的worker的數(shù)量,默認為1. optional bind-to bind_addr[:port]指定其他worker用于連接此worker的IP地址和端口。

如果您有運行Julia時要執(zhí)行的代碼,可以將其放入~/.julia/config/startup.jl:

$ echo 'println("Greetings! 你好! ??????")' > ~/.julia/config/startup.jl
$ julia
Greetings! 你好! ??????

...

有多種方法可以運行Julia代碼并提供選項,類似于可用于perl和ruby程序的選項:

julia [switches] -- [programfile] [args...]

開關 描述
-v, --version 顯示版本信息
-h, --help 打印此郵件
-J, --sysimage <file>啟動給定的系統(tǒng)映像文件
-H, --home <dir> 設置julia可執(zhí)行文件的位置
--startup-file={yes no} 加載 ~/.julia/config/startup.jl
--handle-signals={yes no} 啟用或禁用Julia的默認信號處理程序
--sysimage-native-code={yes no} 如果可用,請使用系統(tǒng)映像中的本機代碼
--compile d-modules={yes no} 啟用或禁用模塊的增量預編譯
-e, --eval <expr> 評估 <expr>
-E, --print <expr> 評估<expr>并顯示結果
-L, --load <file> <file>立即加載所有處理器
-p,--procs {N auto} 整數(shù)值N啟動N個額外的本地工作進程; auto啟動與本地CPU線程數(shù)(邏輯核心數(shù))一樣多的工作程序
--machine-file <file> 在上面列出的主機上運行進程 <file>
-i 互動模式; REPL運行并且isinteractive()是真的
-q, --quiet 安靜的啟動:沒有橫幅,抑制REPL警告
--banner={yes no auto} 啟用或禁用啟動橫幅
--color={yes no auto} 啟用或禁用彩色文本
--history-file={yes no} 加載或保存歷史記錄
--depwarn={yes no error} 啟用或禁用語法和方法棄用警告(error將警告轉(zhuǎn)換為錯誤)
--warn-overwrite={yes no} 啟用或禁用方法覆蓋警告
-C, --cpu-target <target> 限制CPU功能的使用最多<target>; 設置為help查看可用選項
-O, --optimize={0,1,2,3} 設置優(yōu)化級別(如果未指定,則默認級別為2;如果不使用級別,則默認級別為3)
-g, -g <level> 啟用/設置調(diào)試信息生成的級別(如果未指定,則默認級別為1;如果不使用級別,則默認級別為2)
--inline={yes no} 控制是否允許內(nèi)聯(lián),包括覆蓋@inline聲明
--check-bounds={yes no} 始終或從不發(fā)出邊界檢查(忽略聲明)
--math-mode={ieee,fast} 禁止或啟用不安全的浮點優(yōu)化(覆蓋@fastmath聲明)
--code-coverage={none user all} 計算源代碼行的執(zhí)行次數(shù)
--code-coverage 相當于 --code-coverage=user
--track-allocation={none user all} 計算每個源行分配的字節(jié)數(shù)
--track-allocation 相當于 --track-allocation=user
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容