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を学ぶ

3章catコマンド

ひとりぼっちのとき / あなたは猫(cat)であり、電話であり、動物である

—— They Might Be Giants, "Don't Let's Start" (1986)

本章では、catコマンドのクローンを作成します。catは、複数のファイルを1つのファイルに連結(concatenate)するので、この名前が付けられました。たとえば、a、b、cという3つのファイルがあるとき、cat a b c > allを実行すると、これら3つのファイルを連結し、allというファイルができます。また、catには各行の前に行番号を付けることができるオプションも複数用意されています。

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

  • コードをライブラリクレートとバイナリクレートに分ける方法
  • テストファースト開発
  • パブリック変数とプライベート変数、関数の定義方法
  • ファイルが存在するかどうかのテスト方法
  • 存在しないファイル用にランダムな文字列を作成する方法
  • ファイルや標準入力の読み込み方
  • eprintln!を使った標準エラーへの出力とformat!を使った文字列の書式設定方法
  • 標準入力から入力を与えるテストの書き方
  • 構造体を定義する方法
  • 相互に排他的な引数を定義する方法
  • enumerateメソッドの使い方

3.1 catの動作

まずは、catの動作について説明します。BSD版のcatは-h|--helpフラグを付けて実行しても使い方が表示されません。そのため、man catを使って、マニュアルを表示します。マニュアルを見ると、機能が限定的なプログラムにしてはオプションの数が多いことがわかります。本章では、このうちのいくつかを実装します。

CAT(1) BSD General Commands ...
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.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

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

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

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

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

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

Publisher Resources

ISBN: 9784814400584Publisher Website