Julia :迎接0.6的到来

Julia粉们,终于要迎来0.6的升级,快了,快了!原预定的2017年2月28日虽然不一定能如期升级,但看到了希望。

在这个升级中,我们也发现了一些变化,具体请阅:

https://github.com/JuliaLang/julia/blob/master/NEWS.md#deprecated-or-removed

初步总结一下,有几个影响较大的变化,值得关注:

一、0.6的几个比较重大的变化

1、struct 的重磅出击

julia这次还是学习了rust的struct,接了struct的棒,虽然没有了rust 的trait.

在0.6中在原有0.5的基础上,有几个明显的变化:

type =>mutable struct; 

immutable =>struct;

具体的见https://github.com/JuliaLang/julia/pull/20418

2、内置构造函数的升级

比如0.5:

type Foo{T,S<:Real}
    x
    Foo(x) = new(x)
end

现在0.6:

mutable struct Foo{T,S<:Real}
    x
    Foo{T,S}(x) where {T,S<:Real} = new(x)
end

用法:

julia>Foo{Float64,Float64}(5.0) # 不能是Foo(5.0),特别提醒!

julia>a =Foo[];
julia>push!(a,Foo{Float64,Float64}(1.0))
julia>push!(a,Foo{Float64,Real}(1.0))

3、Array的语法的变化

Array(Any,2,2) =>Array{Any}(2,2)

4、where的引入

julia>Array{T} where T<:Integer
Array{T,N} where N where T<:Integer

julia> lammda =((x::Array{T}) where T<:Real) -> 2x

二、总结

总体上看,0.6变化还是可以接受的。一方面,这种修改基本上会盖棺了,另一方面,0.6还是更成熟一些,也有一点现代气息了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值