On Friday, 8 September 2017 at 15:47:39 UTC, Vino.B wrote:
On Friday, 8 September 2017 at 14:48:38 UTC, Vino.B wrote:
Hi All,

The below code output's the below warning, so if std.container.array.RangeT(A) is deprecated then what is the equivalent for this, request your help on this.

Warning :
Size.d(10): Deprecation: std.container.array.RangeT(A) is not visible from module Size Size.d(10): Deprecation: std.container.array.RangeT(A) is not visible from module Size Size.d(10): Deprecation: std.container.array.RangeT(A) is not visible from module Size Size.d(10): Deprecation: std.container.array.RangeT(A) is not visible from module Size ["C:\\Temp\\sapnas2\\BACKUP\\dir1", "C:\\Temp\\sapnas2\\BACKUP\\DND3", "C:\\Temp\\sapnas2\\BACKUP\\DND5"][34, 1, 5]

Code:
import std.algorithm: filter, map, fold;
import std.container;
import std.file: SpanMode, dirEntries, isDir, isFile;
import std.stdio: File, writefln, writeln;
import std.typecons: tuple, Tuple;
import std.parallelism: parallel;
import std.conv;
import std.range;

Tuple!(RangeT!(Array!string), RangeT!(Array!ulong)) coSizeDirList () {
        string FFs = "C:\\Temp\\sapnas2\\BACKUP";
        int SizeDir = 1;
        ulong subdirTotal;
        ulong subdirTotalGB;
        Array!(string) Subdir;
        Array!(ulong) Subsize;
        Tuple!((Array!string), (Array!string)) Result;
auto dFiles = Array!string ((dirEntries(FFs, SpanMode.shallow).filter!(a => a.isDir))[].map!(a => a.name));
    foreach (d; dFiles[]) {
auto SdFiles = Array!ulong(dirEntries(d, SpanMode.depth).map!(a => a.size));
                                foreach(f; SdFiles[]) { subdirTotal += f; }
subdirTotalGB = (subdirTotal/1024/1024); { Subdir ~= d; Subsize ~= subdirTotalGB; }
                                if (subdirTotalGB > SizeDir)
                                subdirTotal = 0;
                    }
                        return tuple (Subdir[], Subsize[]);

}

void main () {
        writeln(coSizeDirList[]);
        }

From,
Vino.B

Hi All,

Was able to resolve the above issue but not sure whether it is correct and now i am getting the output as below, request your help.
Output:
C:\Temp\sapnas2\BACKUP\dir1, 34, C:\Temp\sapnas2\BACKUP\DND3, 1, C:\Temp\sapnas2\BACKUP\DND5, 5

Required Output:
C:\Temp\sapnas2\BACKUP\dir1                34
C:\Temp\sapnas2\BACKUP\DND3                 1
C:\Temp\sapnas2\BACKUP\DND5                 5

Program:
import std.algorithm: filter, map, fold;
import std.container;
import std.file: SpanMode, dirEntries, isDir, isFile;
import std.stdio: File, writefln, writeln;
import std.typecons: tuple, Tuple;
import std.parallelism: parallel;
import std.conv;
import std.range;

Array!string coSizeDirList () {
        string FFs = "C:\\Temp\\sapnas2\\BACKUP";
        int SizeDir = 1;
        ulong subdirTotal;
        ulong subdirTotalGB;
        Array!(string) Subsize;
        Array!string Result;
auto dFiles = Array!string ((dirEntries(FFs, SpanMode.shallow).filter!(a => a.isDir))[].map!(a => a.name));
    foreach (d; dFiles[]) {
auto SdFiles = Array!ulong(dirEntries(d, SpanMode.depth).map!(a => a.size));
                                foreach(f; SdFiles[]) { subdirTotal += f; }
subdirTotalGB = (subdirTotal/1024/1024); { Result ~= d; Result ~= to!string(subdirTotalGB); }
                                if (subdirTotalGB > SizeDir)
                                subdirTotal = 0;
                    }
                        return Result;
}

void main () {
writefln("%-(%s, %)", coSizeDirList[]);
}

From,
Vino.B

Hi All,

At last was able to resolve the issue including the output too, thank you very much for your help, please let me know in case if you find any issue with the below code.

import std.algorithm: filter, map;
import std.container;
import std.file: SpanMode, dirEntries, isDir, isFile;
import std.stdio: File, writefln, writeln;
import std.typecons: tuple, Tuple;
import std.parallelism: parallel;
import std.conv;
import std.range;

string[][] coSizeDirList () {
        string FFs = "C:\\Temp\\sapnas2\\BACKUP";
        int SizeDir = 1;
        ulong subdirTotal;
        ulong subdirTotalGB;
        Array!(string) Subsize;
        string[][] Result;
auto dFiles = Array!string ((dirEntries(FFs, SpanMode.shallow).filter!(a => a.isDir))[].map!(a => a.name));
    foreach (d; dFiles[]) {
auto SdFiles = Array!ulong(dirEntries(d, SpanMode.depth).map!(a => a.size));
                                foreach(f; SdFiles[]) { subdirTotal += f; }
                                subdirTotalGB = (subdirTotal/1024/1024);
if (subdirTotalGB > SizeDir) { Result ~= [[d] ~ [to!string(subdirTotalGB)]]; }
                                subdirTotal = 0;
                    }
                        return Result;
}

void main () {
writefln("%(%-(%-63s %)\n%)", coSizeDirList[]);
}

From,
Vino.B

Reply via email to