Esempio n. 1
0
        public static void Main()
        {
            DefaultEqualityComparer.SetProvider(DefaultEqualityComparer.System);

            var mappy =
                new HashMapBuilder <int, int> {
                { 1, 3 }, { 2, 4 }
            }
            .ToHashMap()
            .Add(4, 5)
            .Remove(2)
            .Alter(1, (int?o) => o)
            .Alter(1, (Microsoft.FSharp.Core.FSharpOption <int> o) => o)
            .Alter(1, o => o)
            .Map((k, v) => v * 3);

            var delta123123 = mappy.ComputeDeltaTo(HashMap.Empty <int, int>());

            var(sm, dm) = mappy.ApplyDelta(delta123123);

            var smasdasd = HashMap.Empty <int, int>().ApplyDelta(ref delta123123);

            var test =
                new[] { 1, 2, 3, 4, 5 }
            .ToHashSet()
            .Map(i => i * 2)
            .Filter(i => i % 2 == 0)
            .Collect(i => HashSet.Single(i))
            .Subtract(HashSet.Single(2))
            .Alter(2, i => !i)
            .MapNullable(i => i < 10 ? (int?)i : null);

            var delta = test.ComputeDeltaTo(HashSet.Empty <int>()).Add(SetOperation <int> .Add(2131));
            var sepp1 = test.ApplyDelta(ref delta);

            var(newState, realDelta) = test.ApplyDelta(delta);

            var changeableMap  = new ChangeableHashMap <int, int>(new[] { (1, 2), (2, 3) });