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