コード例 #1
0
        private bool eqlBoolean(LispDataType d1, LispDataType d2)
        {
            d1 = d1.Evaluate(this);
            d2 = d2.Evaluate(this);

            if (d1 is LispList && d2 is LispList)
            {
                if (((LispList)d1).Count == 0 && ((LispList)d2).Count == 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else if (d1.ToString() == d2.ToString())
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
        private LispDataType eql(LispDataType d1, LispDataType d2)
        {
            LispSymbolicAtom t   = new LispSymbolicAtom("T");
            LispList         nil = new LispList();;

            d1 = d1.Evaluate(this);
            d2 = d2.Evaluate(this);

            if (d1 is LispList && d2 is LispList)
            {
                if (((LispList)d1).Count == 0 && ((LispList)d2).Count == 0)
                {
                    return(t);
                }
                else
                {
                    return(nil);
                }
            }
            else if (d1.ToString() == d2.ToString())
            {
                return(t);
            }
            else
            {
                return(nil);
            }
        }