dc

dcを習得するためにMacへ最新版をインストール

最新版パッケージが2017年なのに驚く

dc知らないで許されるのは小学生までだよね

恥ずかしながら、かくいう私も28歳になるまでdcなどてんで聞いたこともなかった。

さすればdcについて説明する流れに思えるが、世の中には何においても先駆者がいるものだ。

とても良い記事がZennにあるのでまずは読んできてほしい。

dc = desk calculator

英語版のWikipediaにあるdcのページを見ると、dcはdesk calculatorの略だということがわかる。

めっちゃ簡単に言えばスタックを基本とした逆ポーランド記法の計算機だ。使い方は先に紹介した記事にある。

最新版のインストール

dcはMacにも最初から入っているが、バージョンが1.3なので少々古い。

古くからあるプログラムなので最新版でなくてもよいかと思いきや、最新版が2017年であることに驚く。しかも、バグ取りだけでなく機能追加までされていたりする。

最新パッケージのNEWSファイルを読む限り、1.3から1.4のアップデートにおいて、具体的には以下の変更がある。

Changes in dc from 1.3 to 1.4: Recognize and handle tail recursion. Add ‘r’ and ‘R’ commands for stack manipulation. Finally fix dc to trap interrupts, like the documentation has said it should: aborts any executing macros, but does not exit the program. Bug fixes. Miscellaneous code clean-up. Changed to detect directories and generate errors. Detects and reports on any output errors; exits non-success.

この中で大事そうなのがRコマンドである。冒頭で紹介した記事でもRコマンドは使われているし、ここはぜひアップデートしておきたい。

最新パッケージのダウンロードとインストール

このページからbcの最新版である1.07をダウンロードしてくる(dcはbcのパッケージに含まれる)。

適当なディレクトリに解凍したら、INSTALLファイルに書いてある内容に従う。

具体的には、パッケージの解凍先に移動してから以下のコマンドを打てばよい。

$ ./configure
$ make
$ make install

上記が完了すると/usr/local/binに最新版がインストールされているはずだ。

より詳しいインストールオプションについては、パッケージに同梱のINSTALLファイルを参照してほしい。

おわりに

ぼちぼちAtCoder Beginner ContestのA問題をdcで解いたりして少しずつ慣れているが、本当にドキュメントが少ない。

しかしdcを使えずしてLinuxをさわっているなんて恥ずかしくて口が裂けても言えないので、ここはしっかり頑張っておく。

え?dcなんて覚えて何に使えるのかって?

そりゃコードゴルフすよ。おしまい。