private IodineObject write(VirtualMachine vm, IodineObject self, IodineObject[] args) { if (Closed) { vm.RaiseException(new IodineIOException("Stream has been closed!")); return(null); } if (!CanWrite) { vm.RaiseException(new IodineIOException("Can not write to stream!")); return(null); } foreach (IodineObject obj in args) { if (obj is IodineString) { write(obj.ToString()); } else if (obj is IodineBytes) { IodineBytes arr = obj as IodineBytes; File.Write(arr.Value, 0, arr.Value.Length); } else if (obj is IodineInteger) { IodineInteger intVal = obj as IodineInteger; write((byte)intVal.Value); } else if (obj is IodineByteArray) { IodineByteArray arr = obj as IodineByteArray; File.Write(arr.Array, 0, arr.Array.Length); } else { vm.RaiseException(new IodineTypeException("")); } } return(null); }
private IodineObject writeBytes(VirtualMachine vm, IodineObject self, IodineObject[] args) { if (Closed) { vm.RaiseException(new IodineIOException("Stream has been closed!")); return(null); } if (!CanWrite) { vm.RaiseException(new IodineIOException("Can not write to stream!")); return(null); } IodineByteArray arr = args [0] as IodineByteArray; File.Write(arr.Array, 0, arr.Array.Length); return(null); }