julia - 为什么在 Julia 中重命名了这些对集合的常见操作?

标签 julia

Julia 中对集合的许多常见操作(例如从 Set 中删除项目)最近被重命名,旧函数已弃用。

例如,

del(IntSet(1,2,3), 1)

现在弹出警告
WARNING: del is deprecated, use delete! instead.

一些重命名的函数:
@deprecate  push        push!
@deprecate  pop         pop!
@deprecate  grow        grow!
@deprecate  enqueue     unshift!
@deprecate  unshift     unshift!
@deprecate  shift       shift!
@deprecate  insert      insert!
@deprecate  del         delete!
@deprecate  del_all     empty!

为什么这些被重命名?正在附加一个!改变集合状态的函数现在是一种约定吗?

最佳答案

您可以阅读 julia-dev线程 here .基本上,它只是为了尊重 arrays 中描述的规则而改变。文档:

The last function, fill!, is different in that it modifies an existing array instead of constructing a new one. As a convention, functions with this property have names ending with an exclamation point. These functions are sometimes called "mutating" functions, or "in-place" functions.



FWIW 我认为这是个好主意,至少对于 Base .

关于julia - 为什么在 Julia 中重命名了这些对集合的常见操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14371548/

相关文章:

c++ - 从 C++ 调用 Julia SVD

io - 读取 cmd 以流式传输到 Julia 中的 BSON

image - MATLAB 到 Julia RGB 图像转换

iterator - 无限期地重复 Julia 迭代器

alias - 如何在 julia 中找到现有函数 "aliases"?

julia - 我想找到 Julia 的 0 的数字 - 我的意思是最接近 0 的数字

julia - 如何在 Julia 中正确地进行换行?

julia - 如何检查变量是否在 Julia 的模块中定义?

使用 PyPlot 时出现 Julia 错误 - 信号 (11) : Segmentation fault

julia - 如何用 Julia 语言播放任何波形的音频?