这些错误让我付出了不少时间去解决:正则表达式
# 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