Skip to Content
Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ
book

Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

by Ken Youens-Clark, 中山 光樹
January 2024
Intermediate to advanced
472 pages
5h 56m
Japanese
O'Reilly Japan, Inc.
Content preview from Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

11章tailコマンド

胎生期のクジラから尻尾のないサルまで

—— They Might Be Giants, "Mammal" (1992)

本章では、「4章 headコマンド」の逆バージョンであるtailを実装します。tailは、1つ以上のファイルまたは標準入力の末尾の数バイトか数行(デフォルトでは末尾の10行)を表示するコマンドです。本章のプログラムでも不正な入力に対処する必要があり、場合によってはUnicode文字の表示がおかしくなることもあります。tailでは標準入力も扱えますが、現在のRustでは標準入力を処理する方法に制限があるため、今回実装するプログラムでは通常のファイルだけを対象にします。

本章では、以下の内容を学びます。

  • once_cellクレートを使って、正規表現を静的変数として作成する方法
  • ファイルハンドル内の行やバイト位置を移動する方法
  • where句を用いて、型に複数のトレイト境界を指定する方法
  • Cargoでリリースバイナリをビルドする方法
  • 実行時の性能を比較するためにプログラムをベンチマークする方法

11.1 tailの動作

まずは、BSD版のtailに対するマニュアルページの一部を見て、今回のプログラムがどのように動作すべきかを確認しましょう。今回はこれらの機能の一部だけを実装します。

TAIL(1) BSD General Commands Manual TAIL(1) NAME tail -- display the last part of a file SYNOPSIS tail [-F | -f | -r] [-q] [-b number | -c number | -n number] [file ...] DESCRIPTION ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

プログラミングC# 第8版

プログラミングC# 第8版

Ian Griffiths, 木下 哲也, 鈴木 幸敏
進化的アーキテクチャ ―絶え間ない変化を支える

進化的アーキテクチャ ―絶え間ない変化を支える

Neal Ford, Rebecca Parsons, Patrick Kua, 島田 浩二

Publisher Resources

ISBN: 9784814400584Publisher Website