예제 #1
0
        LpObject convertReturnValue(object result)
        {
            if (null == result)
            {
                return(LpNl.initialize());
            }

            var t = result.GetType();

            switch (t.ToString())
            {
            case "System.UInt16":
            case "System.UInt32":
            case "System.UInt64":
            case "System.Int16":
            case "System.Int32":
            case "System.Int64":
                return(LpNumeric.initialize((int)result));

            case "System.Double":
                return(LpNumeric.initialize((double)result));

            case "System.String":
            case "System.Symbol":
                return(LpString.initialize((string)result));

            default:
                return(LpNl.initialize());
            }
        }
예제 #2
0
파일: LpObject.cs 프로젝트: baban/lp
 protected static LpObject hash(LpObject self, LpObject[] args, LpObject block = null)
 {
     return(LpNumeric.initialize(self.GetHashCode()));
 }
예제 #3
0
        private static LpObject pow(LpObject self, LpObject[] args, LpObject block = null)
        {
            var v = args[0];

            return(LpNumeric.initialize(Math.Pow((double)self.doubleValue, (double)v.doubleValue)));
        }
예제 #4
0
        private static LpObject mod(LpObject self, LpObject[] args, LpObject block = null)
        {
            var v = args[0];

            return(LpNumeric.initialize((double)(self.doubleValue % v.doubleValue)));
        }
예제 #5
0
 protected static LpObject to_i(LpObject self, LpObject[] args, LpObject block = null)
 {
     return(LpNumeric.initialize((int)self.doubleValue));
 }
예제 #6
0
파일: LpHash.cs 프로젝트: baban/lp
 private static LpObject len(LpObject self, LpObject args)
 {
     return(LpNumeric.initialize(self.hashValues.Count));
 }
예제 #7
0
파일: LpArray.cs 프로젝트: baban/lp
 static LpObject len(LpObject self, LpObject[] args, LpObject block = null)
 {
     return(LpNumeric.initialize(self.arrayValues.Count));
 }
예제 #8
0
 protected static LpObject to_i(LpObject self, LpObject[] args, LpObject block = null)
 {
     return(LpNumeric.initialize(0));
 }
예제 #9
0
파일: LpString.cs 프로젝트: baban/lp
 protected static LpObject size(LpObject self, LpObject[] args, LpObject block = null)
 {
     return(LpNumeric.initialize(self.stringValue.Length));
 }