Julia 1.3 发布,高质量动态高等编制程序语言

Julia 1.2.0 发布了, Julia
是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由
Julia 编写,但也用成熟的 C 和 FORTRAN
库来处理线性代数、随机数产生和字符串处理等问题。

图片 1

更新内容如下:

新的语言特性

  • 支持 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)

新的库功能

  • findfirstfindlastfindnext 和 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)

其余大量更新内容见更新说明:

(文/开源中国)    

相关文章