コード例 #1
0
        public decimal BinaryChain(BinaryChain binaryChain)
        {
            var accumulator = this.Visit(binaryChain.Head);

            foreach (var item in binaryChain.Tail)
            {
                accumulator = _operators[item.op](accumulator, this.Visit(item.rhs));
            }
            return(accumulator);
        }
コード例 #2
0
        public string BinaryChain(BinaryChain binaryChain)
        {
            var head = this.Visit(binaryChain.Head);

            return(binaryChain.Tail.Aggregate(head, (previous, item) => $"({previous} {item.op} {this.Visit(item.rhs)})"));
        }