這是一個範例問題可以參考這個範例來完成解題。這邊我們讓各位可以貢獻各自的程式碼來解題,我們允許在同一練習題下可以多人解題。
為了避免多人解題造成的衝突,自己取一個跟別人不同的代號,可以是你帳號、名字或是暱稱,請不要以純數字作為代號。這邊的範例代號是 Foo
。
在各個練習題中,會有兩個資料夾 src/ 及 test/,請在 src/ 寫你解題的程式碼,而 test/ 則是用來測試你的程式碼的。
src/ 下會有兩種檔案,一種是 Example.jl,另一種其他人的解題,例如 foo.jl。
創建一自己解題檔案,例如 foo.jl,這邊請你的代號為名。接著,需要在 Example.jl 的 src
陣列中加入你的代號,如以下範例:
src = [
"foo",
]
這樣系統才能載入你的解題檔 foo.jl。
在 foo.jl 中需要使用模組來區別不同人的程式,請在 foo.jl 撰寫以下模組:
module Foo
# Write your code
end
請以個人代號為模組名稱,並且開頭大寫。解題程式碼請在模組中撰寫。
需要在 Example.jl 中匯出你的模組。
export
Foo,
...
test/ 下會有兩種檔案,一種是 runtests.jl,另一種其他人的測試程式碼,例如 foo.jl,這邊請你的代號為名。
創建一自己測試程式碼,例如 foo.jl,這邊請你的代號為名。接著,需要在 runtests.jl 的 tests
陣列中加入你的代號,如以下範例:
tests = [
"foo",
]
這樣系統才有辦載入你的測試程式碼 foo.jl。
在 foo.jl 中撰寫測試程式碼來測試你的解法是否正確,例如:
@test Foo.say_hello() == "hello"
請使用之前定義的模組名稱,並且呼叫解題程式來測試。測試資料請從練習題 RAEDME.md 複製。
Julia 本身有提供非常方便的套件測試機制,
- 切換到練習題專案下,這邊以 Example 為例,
cd Example
- 以
julia --proj
指令開啟 Julia,這會讓 Julia 在 Example 專案的環境下啟動 - 按下
]
切換到套件模式 - 鍵入
test
便可以測試你的解法囉!