Julia编程语言的新版本之所以受到整个人工智能界的关注,最主要的原因正是其将 C 语言的速度、Ruby 的灵活、Python 的通用性前所未有地结合在一起,支持并行处理,易于学习和使用,尤其适合科学和工程计算。
官方文档链接:
Julia Documentation · The Julia Language
软件下载链接:
Julia编程语言的新版本之所以受到整个人工智能界的关注,最主要的原因正是其将 C 语言的速度、Ruby 的灵活、Python 的通用性前所未有地结合在一起,支持并行处理,易于学习和使用,尤其适合科学和工程计算。
官方文档链接:
Julia Documentation · The Julia Language
软件下载链接:
▋〓〓特色〓〓▋条件判断语句中必须使用布尔变量,整数或正数不合规
▋〓〓特色〓〓▋a :b ?c语句中:和?前后必须有空格
▋〓〓特色〓〓▋for语句中的循环变量只在for语句内部可见,前后均不可见
特色内容详见下文。
组合语句
有时为了方便,可以在一个语句中依序计算多个子语句,并将最后一个子语句的计算结果赋给需要的变量。可以有两种方式:一种是begin块,另一种是;链。
begin块示例如下:
julia> a = begin
x=5
y=4
x-y
end
1
对于较简短的语句链,可以单行表述用;链,如下所示:
julia> z = (x=5;y=4;x+y)
9
条件语句
if-elseif-else语句格式与Python及Matlab表述一致。
julia> if x<y
println("x")
elseif x>y
println("y")
else
println("equal")
end
y
▋〓〓特色〓〓▋逻辑判断中必须使用布尔变量,整数或正数不合规
不像 C, MATLAB, Perl, Python, and Ruby等语言,在Julia条件判断语句中必须使用布尔变量
julia> if 1
println("true")
end
ERROR: TypeError: non-boolean (Int64) used in boolean context
Stacktrace:
[1] top-level scope
@ REPL[150]:1
julia> typeof(1)
Int64
a :b ?c语句
▋〓〓特色〓〓▋a :b ?c语句中:和?前后必须有空格
julia> x>y?1:2
ERROR: syntax: space required before "?" operator
Stacktrace:
[1] top-level scope
@ none:1
julia> x>y ? 1 : 2
1
▋〓〓特色〓〓▋for语句中的循环变量只在for语句内部可见,前后均不可见
julia> for j=1:5
println(j)
end
1
2
3
4
5
julia> j
ERROR: UndefVarError: j not defined