変更された時間でソートされたディレクトリの内容を取得しようとしています。呼び出し内でこれを直接行う方法はないと思うdirEntries
ので、私の戦略は、すべてのファイルの時間と名前を収集してから、2つの配列をロックステップで並べ替えることです。
sysTime
問題1:aを整数に変換する方法がわかりません。
問題2:2つの配列を並列にソートする方法がわかりません。
Dのすべての問題と同様に、これを行う方法を見つけることは不可能です:(
これが私のコードです:
import std.file;
import std.stdio : writeln;
import std.algorithm;
import std.datetime;
void main() {
string[] myFiles;
double[] myTimes;
foreach (DirEntry e; dirEntries("c:/users/istaffel/", SpanMode.shallow)) {
// calculate unix time (this doesn't work)
auto dur = (cast(Date)e.timeLastModified) - Date(1970,1,1);
// store modified time and filename
myTimes ~= dur.seconds;
myFiles ~= e.name;
}
// now find a way to sort myFiles in order of ascending myTimes...
// print in order
for (int i = 0; i < myTimes.length; i++) {
writeln(myTimes[i], " ", myFiles[i]);
}
}