private static LpObject open(LpObject self, LpObject[] args, LpObject block = null) { var filename = args[0].stringValue; var mode = args[1].stringValue; var obj = self.Clone(); obj.stringValue = mode; switch (mode) { case "r": case "r+": obj.streamReader = new System.IO.StreamReader(filename, System.Text.Encoding.GetEncoding("UTF-8")); break; case "w": case "w+": obj.streamWriter = new System.IO.StreamWriter(filename); break; default: throw new Error.LpArgumentError(); } return(obj); }
private static LpObject new_(LpObject self, LpObject[] args, LpObject block = null) { if (block == null) { throw new Error.LpArgumentError(); } var obj = self.Clone(); obj.statements = block.statements; obj.arguments = block.arguments; return(obj); }
private static LpObject createClassTemplate() { if (classes.ContainsKey(className)) { return(classes[className].Clone()); } else { LpObject obj = new LpObject(); setMethods(obj); obj.superclass = LpKernel.initialize(); obj.class_name = className; classes[className] = obj; return(obj.Clone()); } }
private static LpObject copy(LpObject self, LpObject[] args, LpObject block = null) { return(self.Clone()); }
public static LpObject initialize(LpObject self, LpObject[] args, LpObject block = null) { return(self.Clone()); }