這些錯誤讓我付出了不少時間去解決:正則表達式
# SubStringubuntu
使用字符串區間獲取的字符串,是一種特殊的類型:SubString數組
rest_str = str[1:end] chop_str = str[2:end]
這種類型同 String 不一樣,函數參數若是設置成 String, 傳入一個 SubString 的類型,就會報錯。ruby
固然,Julia 的函數能夠不聲明類型,這樣就不會出現這種問題,這個問題被深深的隱藏起來, 以致於上網搜索都沒有找到答案。函數
strip 也會產生 SubString網站
解決的辦法就是,全部這些表達式前面加 String()spa
function trim(str::String)::String return String(strip(str)) end function rest(str::String)::String return String(str[2:end]) end
# r"str" 會按照正則表達式規則去編譯rest
爲了能獲取一種不會對 '$' 字符轉義的字符串表達形式,我開始選擇了 r"str" 的形式,但系統提示我編譯出錯,我才明白,這種形式的字符串是正則表達式專用,別的還用不了。因而用 raw"…" 形式代替。code
# """…""" 會對中間的 '$' 字符進行特殊處理。ip
這和大多數語言不一樣,這讓我不得不用 raw"…" 來標記跨行長字符串。
# 1.0 和之前的版本差異較大
之前聲明結構用 type 關鍵字,如今不行了,必須這麼用:
mutable struct Foo off::Int text::String end
若是不用開始的 mutable 那麼這個結構是不能修改的,但不能修改的結構,彷佛沒什麼用。
# typealias 沒有了
如今這麼用:
Str = String Table = Dict{String,String}
# Vector 就是一維數組
文檔裏處處出現這個詞,一直不明白是啥數據類型,最後明白了。
# 不要嘗試去本身編譯 Julia 的二進制文件,太麻煩了
直接從網站上下載二進制包,而後解壓使用:
ubuntu 默認安裝的是 0.45 版本,升級 repo 後,變成了 0.54.
# 字符數組轉換成字符串用 String,不能用 string
string 看似功能強大,但處理 Char[] 數組就會變成別的樣子。
# is_file => isfile, readstring => read