AOJ の問題を最近解いているのだが、 Emacs から投稿するスクリプトがないかなと探していたら、見つけた.
aoj-submit をうつと、web に投稿してくれる。これは便利だ..
ここからが Hack. できれば、ローカルでテストケースを実行したい.
そのためのスクリプトを見つけた.
たとえば、問題番号 1147 のテストをしたいとき、 以下を実行すると、テストケースをダウンロードしてきてローカルで実行してくれる.
oj.py --aoj -i 1147.py 1147
ソースを読むと、html をスクレイピングしてるようなトリッキーなことをしていた.
これを Emacs から叩けるように、メソッドを追加してみた.
(defcustom aoj-ojpy-path nil "Your oj.py path")
(defun aoj-test ()
(interactive)
(shell-command (concat aoj-ojpy-path " --aoj -i "
(file-name-nondirectory (buffer-file-name)) " " (aoj--problemNO))))
これで、Emacs からテスト実行 -> 提出ができるようになった.