コード例 #1
0
        void LensCompositionTet()
        {
            var moveTurtle = from x in TurtleX.ModS(x => x + 10)
                             from y in TurtleY.ModS(y => y + 10)
                             select Tuple.Create(x, y);

            var turtle1 = new Turtle("bob", new Position(x: 10, y: -2));

            var result = moveTurtle.Run(turtle1);

            Console.WriteLine(result);

            Assert.AreEqual(result.Item2.Item1, 20);
            Assert.AreEqual(result.Item2.Item2, 8);
        }
コード例 #2
0
 public static StateEither <ParserState <T>, string, uint> MoveNext()
 {
     return
         (Index.ModS(n => n + 1).ToStateEither <ParserState <T>, string, uint>());
 }