Julia에서 컬렉션에서 항목을 삭제하는 등의 일반적인 작업이 최근에 변경되었으며 이전 기능은 사용되지 않습니다. 예를 들어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 처리를 염두에두고있는 것처럼 보이고 mutability는 동시성의 복잡성을 증가시킨다. 그래서'! '는 특정 호출이 그와 관련하여 추가적인주의를 필요로한다는 것을 강조 할 것이다 (대체 함수가 더 나은 대안이 될 수있다) . –