在模組中包裝程式碼
module
關鍵字可用於開始一個模組,該模組允許對程式碼進行組織和命名。模組可以定義外部介面,通常由 export
ed 符號組成。為了支援這種外部介面,模組可以具有未公開的內部功能和不適合公共使用的型別 。
一些模組主要用於包裝型別和相關函式。按照慣例,這些模組通常以型別名稱的複數形式命名。例如,如果我們有一個提供 Building
型別的模組,我們可以呼叫這樣一個模組 Buildings
。
module Buildings
immutable Building
name::String
stories::Int
height::Int # in metres
end
name(b::Building) = b.name
stories(b::Building) = b.stories
height(b::Building) = b.height
function Base.show(io::IO, b::Building)
Base.print(stories(b), "-story ", name(b), " with height ", height(b), "m")
end
export Building, name, stories, height
end
然後該模組可以與 using
語句一起使用:
julia> using Buildings
julia> Building("Burj Khalifa", 163, 830)
163-story Burj Khalifa with height 830m
julia> height(ans)
830