디렉토리의 내용을 수정 된 시간순으로 정렬하려고합니다. dirEntries
호출 내에서 직접이 작업을 수행 할 방법이 없다고 생각합니다. 따라서 모든 파일 시간과 이름을 수집 한 다음 잠금 단계에서 두 개의 배열을 정렬하는 것이 좋습니다.디렉토리 목록을 Dlang의 수정 날짜순으로 정렬하기
문제 1 : sysTime
을 정수로 변환하는 방법을 알 수 없습니다.
문제 2 : 병렬로 두 개의 배열을 정렬하는 방법을 알 수 없습니다. 당신은 C와 상호 작용하지 않는 한 나는, 일반적으로
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]);
}
}
와우. 감사합니다. 나는 D에서 그렇게 많이 진행되고있어 발판을 얻는 것이 어렵다고 생각합니다. –
나는 Alexandrescu의 책을 D에 가지고 있지만, 대부분은 너무 가파른 학습 곡선을 가지고있다.내가 제안하는 책을 줄께. –