예제 #1
0
        public Value Next()
        {
            if (++index >= maxLength)
            {
                return(new Nil());
            }
            var newArray = new Array();

            foreach (var array in arrayOfArrays.Select(item => (Array)item.Value))
            {
                newArray.Add(array[index]);
            }
            return(newArray);
        }
예제 #2
0
        protected static Value write(Value[] values)
        {
            switch (values.Length)
            {
            case 0:
                return(null);

            case 1:
                var asString = ValueAsRep(values[0]);
                State.ConsoleManager.ConsolePrint(asString);
                return(null);

            default:
                var text = values.Select(ValueAsRep).ToString("");
                State.ConsoleManager.ConsolePrint(text);
                return(null);
            }
        }
예제 #3
0
 public static object[] GetArguments(this Value[] arguments) => arguments.Select(a => a.GetArgument()).ToArray();
예제 #4
0
        public static object[] GetArguments(this Value[] arguments, string[] types)
        {
            var matcher = new Matcher();

            return(types.Select((t, i) => t.GetArgument(arguments[i], matcher)).ToArray());
        }