Julia 結構和module基本用法

2021-08-28 05:15:04 字數 1403 閱讀 6328

julia 作為高階語言,很好的封裝特性肯定是基本特徵, julia的基本結構是 最外面一層是module 下面包含一系列function。在julia裡面function非常廉價而高效,建議所有功能都裝進function裡,而不是寫在外面。

module modulename

#function

#....#....

end

如果你將自己編寫的module存在了不同的目錄,比如mymodule.jl 放在~/下,執行

using mymodule
(typeof是乙個常用函式,用來檢視類,julia中所有東西,不論是變數還是操作都含有類,可以通過定義類來對變數進行限制或者根據不同的類實現同一操作比如+,具有無限多可能的methods)

typeof(load_path)
返回:array 可見是乙個任何型別(1.0版本特徵,0.6前是string)的一維array。

我們可以通過

push!(load_path, "~/.")
新增進去,以後就可以直接using 了。建議自建的module還是放在一起的好。

舉個栗子

module mymodule

f(x,y)= x^2 + y^2

function hello(name)

println("hello",name)println("hello",name)

endend

using mymodule
此時如果呼叫

mymodule.
會自動補全你模組下函式,並給出補全提示,非常爽。如果想不用模組名直接呼叫內部函式,需要在模組裡加上

module mymodule

export f

f(x,y)= x^2 + y^2f(x,y)= x^2 + y^2

function hello(name)

println("hello",name)println("hello",name)

endend

就可以直接呼叫f了。

如果你項避免衝突,不想直接呼叫f,可以通過

import mymodule
而不是

using mymodule
這樣mymodule裡面所有函式都需要mymodule. 來進行呼叫了。

當然這只是module的入門,比如和python很像的__init__函式等功能,就需要慢慢學習了。

下次可能學習一下 struct, 這個和module容易產生混淆,其實用法區別很大的。

Project和Module的介紹

這兩個概念是 intellij idea 的必懂知識點之一,請務必要學會。如果你是 eclipse 使用者,並且已經看了上面給的鏈結,那 intellij idea 首先告訴你乙個非常重要的事情 intellij idea 沒有類似 eclipse 工作空間 workspace 的概念的。很多從 e...

15 模組 Module 和 包 package

模組是乙個包含有一系列資料,函式,類等組成的程式組 模組是乙個檔案,模組檔名通常以 py 結尾 讓一些相關的資料,函式,類等有邏輯的組織在一起,使邏輯結構更加清晰,我們可以使用模組將大型程式分解為可管理的小型檔案,方便管理和應用。模組中的變數,函式和類等可提供給其他模組或程式使用,重用性強。內建模組...

Lua的require和module小結

lua的require和module小結 module特性是lua5.1中新增的,用於設定lua檔案自己的模組,最常用的方式是module name,package.seeall 有時候lua檔名和module設定的名字不一樣,到底require的時候該 require檔名還是require模組 m...