On Monday, 6 June 2016 at 02:34:07 UTC, Adam D. Ruppe wrote:
On Monday, 6 June 2016 at 02:05:09 UTC, Pie? wrote:
I believe the essentially converted the file into a ubyte or something and then wrote that out to a temp file and read in the temp file... this seems a bit of a kludge to me.

They might do that for certain special cases, but import("file.whatever") just drops the file content in memory and you can then access it as an array.

Because D allows such an embedding feature, maybe the file system should allow working with this concept?

Why do you need it through the file system? If you're writing the code, just use the array in memory. If it is external, see if the library offers something like that.

DLL and exe are a special case, most things don't need to be physical files.

Because, as I said, if I'm working with pre-exiting modules that work with file, I have to provide a file or modify the source.

e.g., how could I do this easily with your read in your png module? It takes a file..

/// Easily reads a png file into a MemoryImage
MemoryImage readPng(string filename) {
        import std.file;
        return imageFromPng(readPng(cast(ubyte[]) read(filename)));

recognize the code?

Of course, like I said, it can be modified in this case, but that means nothing in general.

Reply via email to