コード例 #1
0
ファイル: LengthStdLib.cs プロジェクト: nasa03/Jasonity
        public override object Execute(Reasoner reasoner, Unifier un, ITerm[] args)
        {
            CheckArguments(args);
            ITerm l1 = args[0];
            ITerm l2 = args[1];

            INumberTerm size = null;

            if (l1.IsList())
            {
                IListTerm lt = (IListTerm)l1;
                size = new NumberTermImpl(lt.Size());
            }
            else if (l1.IsString())
            {
                IStringTerm st = (IStringTerm)l1;
                size = new NumberTermImpl(st.GetString().Length);
            }
            if (size != null)
            {
                return(un.Unifies(l2, size));
            }
            return(false);
        }