Julia的許多常見操作(例如從Set中刪除項目)最近都重命名,舊的功能已棄用。爲什麼這些在Julia重新命名的集合的操作?
例如,
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沒有任何經驗(之前沒有聽說過),但我在其他語言中看過'!'後綴。從函數編程的角度來看,'!'表示一個函數,其主要目的是一個變化的副作用。一眼看上去,Julia看起來是在設計parellel處理,而且可變性增加了併發性的複雜性:所以'!'會加強這個特定的調用在這方面需要更多的關注(而另一個函數可能是更好的選擇) 。 –