| commit | 12d308af7dd9657b813610e3e04bd79372ef0f23 | [log] [tgz] |
|---|---|---|
| author | Kwang Yul Seo <kwangyul.seo@gmail.com> | Sat Sep 19 07:22:18 2015 |
| committer | Kwang Yul Seo <kwangyul.seo@gmail.com> | Sat Sep 19 07:22:18 2015 |
| tree | 5e570b2bd9cc82047d4c78ea43e40f67f61883af | |
| parent | 9e047eadfbd72d56c6cd5e6c038a1048938cbb92 [diff] |
Override operator == and hashCode. This makes it possible to use tuples as keys in maps.
There are two versions of this data structure:
final t = new Tuple2<String, int>('a', 10); print(t.i1); // prints 'a' print(t.i2); // prints '10'
In computing, a persistent data structure is a data structure that always preserves the previous version of itself when it is modified. Such data structures are effectively immutable, as their operations do not (visibly) update the structure in-place, but instead always yield a new updated structure. (A persistent data structure is not a data structure committed to persistent storage, such as a disk; this is a different and unrelated sense of the word “persistent.”)
final t1 = const PersistentTuple2<String, int>('a', 10); final t2 = t1.setI1('c'); // t2 is a new [PersistentTuple2] object with i1 is 'c' and i2 is 10.