본질적으로 변경할 수있는 클래스가 있지만 "영구적 인"작업을 허용합니다.지속적인 작업을 허용하는 비 영구적 인 데이터 구조는 무엇이라고 부릅니까?
# create an object with y equal to 3 and z equal to "foobar"
x = MyDataStructure(y = 3, z = "foobar")
x.y = 4
그러나, 이런 식으로 일을하는 대신에, 대신 다음 복사본을 만들어 방법 중 몇이 그것을 변이가있다 :
예를 들어, 나는 (파이썬)이 같은 개체를 변이 수x = MyDataStructure(y=3, z="foobar")
# a is just like x, but with y equal to 4.
a = x.using(y = 4)
다른 값으로 x를 복제하고 있습니다. 분명히, 이것은 부분적으로 지속되는 정의를 wikipedia에 부합하지 않습니다.
그래서이 클래스를 어떻게 부르겠습니까? QuasiPersistentObject? PersistableObject? SortOfPersistentObject? 더 나은 아직, 이것에 대한 기술적 이름이 있습니까?
용어를 지속적으로 사용하고 (다시 시작할 때까지 유지) 음소거 할 수 있습니까 (값을 수정할 수 있습니까)? 이것들은 매우 다르며 질문에서 상호 교환 적으로 사용되는 것처럼 보입니다. – TheJacobTaylor
예, 영구적이라고하는 것은 실제로 변경할 수없는 것입니다. http://en.wikipedia.org/wiki/Immutable_object – haffax
@haffax : 영구 데이터 구조는 기본적으로 변경 불가능하지만 불변의 데이터 구조와 영구 데이터 구조는 완전히 동일하지 않습니다. 내 질문에 위키 백과 링크를 참조하십시오. –