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

6章uniqコマンド

すべてはただ1つだけ存在する

—— They Might Be Giants, "One Everything" (2008)

本章では、uniqコマンドのクローンを作成します。uniqは、ファイルや標準入力の重複している行を取り除くために使われます。さまざまな使い道がありますが、一意な文字列の出現回数を数えるためによく使われています。

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

  • ファイルや標準出力に書き込む方法
  • クロージャを用いて変数をキャプチャする方法
  • DRY(don't repeat yourself)の適用方法
  • Writeトレイト、write!、writeln!マクロの使い方
  • 一時ファイルの使い方
  • 変数の生存期間の指定方法

6.1 uniqの動作

まずは、uniqの動作について説明します。以下は、BSD版のuniqのマニュアルページの一部です。本章では、ファイルや標準入力からの読み込み、ファイルや標準出力への書き込み、-cフラグによる行数カウントのみを実装しますが、プログラムの全容がわかるように、それ以外の部分も示しています。

UNIQ(1) BSD General Commands Manual UNIQ(1) NAME uniq -- report or filter out repeated lines in a file SYNOPSIS uniq [-c | -d | -u] [-i] [-f num] [-s chars] [input_file [output_file]] DESCRIPTION The uniq utility reads the specified input_file comparing adjacent lines, ...
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