D 언어로 진행률 표시 줄을 표시하는 라이브러리를 만들었습니다.

3188 단어 dlang

소개



안녕하세요. 여러분 D 언어를 사용하고 있습니까?
콘솔에 쉽게 진행 막대를 표시하는 progress-d을 만들었으므로 소개합니다.

덧붙여 : dub에도 progress-d로 등록되어 있습니다

무슨 느낌이야



이런 느낌. 끝까지의 예상 시간(ETA: Estimated Time of Arrival)도 표시되어 편리합니다.



왜 만들었어



기계 학습계에서는 많은 파일에 대해 무거운 처리를 하기도 하므로, 지금 얼마나 끝났는지, 얼마나 기다리면 끝나는지 모릅니다.
지금까지는 「42/10000」과 같이 비율은 표시하고 있었습니다만, 이것이라고 끝까지 얼마나 시간이 걸리는지 모르고, 표시 방법도 맛있지 않기 때문에 진행 바가 표시할 수 있도록 했습니다.

사용법



사용하기 쉽고 Progress 의 인스턴스를 만들고 next() 를 호출할 때마다 진행률 표시줄이 표시됩니다(100%까지 예상 시간도 표시됨).
title 속성을 만지면 헤더 부분에 표시되는 문자열을 변경할 수 있습니다.
import std.stdio;
import std.datetime;
import core.thread;
import progress;

void main(string[] args) {
  size_t iteration = 100;
  Progress p = new Progress(iteration);
  p.title = "Downloading";

  for(int i = 0; i < iteration; i++) {
    p.next();
    Thread.sleep(dur!("msecs")(80));
  }
  writeln();
}

미래



콘솔 너비를 쉽게 잡는 방법을 모르기 때문에 지금은 리눅스 전용입니다.
조만간 OSX 및 기타 플랫폼에 대응할 수 있습니다.
뭐, 잘 취득할 수 없는 환경에서는 고정폭 표시도 좋지만.

좋은 웹페이지 즐겨찾기