Julia 1.3.0 发布了, Julia 是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由 Julia 编写,但也用成熟的 C 和 FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。
更新内容如下:
新的语言特性
-
支持 Unicode 12.1.0 (#32002)
-
现在可以将方法添加到抽象类型中 (#31916)
-
支持将 Unicode 粗体数字和双位数 0 到 9 作为有效标识符 (#32838)
-
添加了语法 var"#str#" 用于打印和解析非标准变量名 (#32408)
多线程更改
-
新的实验性 Threads.@spawn 宏可在任何可用线程上运行任务 (#32600)
-
现在,所有系统级 I/O 操作(例如文件和套接字)都是线程安全的。尽管它确实包含 BufferStream,但它不包括完全在内存中的 IO 子类型,例如 IOBuffer (#32309, #32174, #31981, #32421)
-
全局随机数生成器(GLOBAL_RNG)现在是线程安全的(和线程本地的) (#32407).
-
新的 Channel(f::Function, spawn=true) 关键字参数可将创建的 Task 安排在任何可用线程上,与 Threads.@spawn 的行为匹配 (#32872)
-
简化了 Channel 构造函数,该构造函数现在更易于阅读并且更加惯用。现在不建议使用关键字参数 csize 和 ctype (#30855, #32818)
新的库功能
-
findfirst, findlast, findnext 和 findprev 现在接受一个字符作为第一个参数,以在作为第二个参数传递的字符串中搜索该字符 (#31664)
-
新的 findall(pattern, string) 方法,其中 pattern 是字符串或正则表达式 (#31834)
-
count(pattern, string) 给出 findall 匹配的事物数 (#32849)
-
istaskfailed 已记录并导出,就像 istaskdone 和 istaskstarted (#32300)
-
RefArray and RefValue 对象现在在 getindex 和 setindex! 中接受索引 CartesianIndex() (#32653)
-
添加了 sincosd(x) 以同时计算 x 的正弦和余弦,其中 x 以度为单位 (#30134)
-
导出了从类型联合中删除“丢失”的函数 nonmissingtype (#31562)
其余大量更新内容见更新说明:
https://github.com/JuliaLang/julia/blob/v1.3.0/NEWS.md
(责任编辑:IT) |