12章fortuneコマンド
今、私は笑って大儲けしている / 私が拷問したのと同じ者たちから
—— They Might Be Giants, "Kiss Me, Son of God" (1988)
本章では、テキストファイルのデータベースからランダムに選ばれた格言や豆知識、アスキーアート†1を表示するfortune
コマンドのRust版を作成します。このコマンドの名前はフォーチュン・クッキーに由来しています。フォーチュン・クッキーは、「近いうちに、新たな旅の機会が訪れるでしょう」というような占いや、短い冗談や格言が書かれた小さな紙が入っているクッキーです。筆者が学部生時代にUnixターミナルの使い方を学び始めた頃†2は、ターミナルへのログインに成功するとfortune
の出力が表示されたものでした。
[†1] ASCIIアートは、ASCIIに含まれる文字と記号のみを用いた視覚表現技法のことです。
[†2] 1990年代のことです。きっと今の子供たちは「1900年代後半」と呼んでいるのでしょう(笑)。
本章では、以下の内容を学びます。
Path
とPathBuf
構造体を使ってシステムパスを表す方法- ファイル内の複数行にわたるテキストのレコードを解析する方法
- ランダム性を利用し、シードで制御する方法
OsStr
型とOsString
型を使ってファイル名を表す方法
12.1 fortuneの動作
まず、fortune
で何ができるかを説明し、実装対象への理解を深めます。fortune
は、ほとんどのシステムではインストールされていないので、その場合はインストールする必要があります†3。次に示すのはマニュアルページの一部で、man fortune
で表示できます。
[†3] Ubuntuでは、 ...
Get Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.