最近 AtCoder を始めた私ですが「テストや提出のたびにキーボードから手を話さないといけないのが煩わしいな」と思っていました.
そこで CLI から提出・テストができるツールは無いものかと調べたら発見したのが online-judge-toolsです.(作者様に感謝!!)
というわけでタイトルです.
online-judge-tools の概要とその使い方
online-judge-tools とは AtCoder を始めとする online-judge(競技プログラミング) サービスで利用可能な便利ツールです.以下のような作業を CLI から実行可能です.
- ログイン
- テストケースのダウンロード
- テストの実行
- 提出
それぞれの使い方について AtCoder を例に説明します.
※ インストール方法については公式ページをご覧ください.
ログイン
oj login ${URL}
# AtCoder の場合
oj login https://atcoder.jp
実行後にログイン情報が聞かれるので入力してください.
テストケースのダウンロード
oj download ${URL}
# AtCoder の場合
oj download https://atcoder.jp/contests/abs/tasks/practice_1
実行するとカレントディレクトリに test
ディレクトリが作成され,その中に問題に関する全てのテストケースが保存されます.
テストの実行
oj test -c ${COMMAND} ${TESTCASE}
# AtCoder (Python3) の場合
oj test -c python3 ./practice_1.py ./test/*
実行すると ./test
ディレクトリ以下の全てのテストケースが実行されます.
※ テストケースは python3 practice_1.py
の標準入力に入力されます.
テスト結果がコマンドラインに表示されます.
提出
oj submit ${URL} ${FILENAME} -l ${LANGUAGE}
# AtCoder (Pyrhon3) の場合
oj submit https://atcoder.jp/contests/abs/tasks/practice_1 ./practice_1.py -l python3
実行するとデフォルトの Web ブラウザで提出後の画面が開かれます.
※ ここも標準出力に出してくれたら嬉しいかも?
今日の日記
「沈まぬ太陽」が観終わりました.
これは映画も小説も観てみたくなりますね.
今度は映画を観てみよう!