Skip to Content
プログラミングRust 第2版
book

プログラミングRust 第2版

by Jim Blandy, Jason Orendorff, Leonora F. S. Tindall, 中田 秀基
January 2022
Intermediate to advanced
680 pages
11h 35m
Japanese
O'Reilly Japan, Inc.
Content preview from プログラミングRust 第2版

13章ユーティリティトレイト

科学とは、自然の多様性の中に、より正確に言えばわれわれの経験の多様性の中に、統一性を発見しようという探索に他ならない。詩や絵画なども同じことを探索してる。コールリッジの言葉によれば、多様性の中の統一性を。

−Jacob Bronowski†1

[†1] 訳注:Samuel Taylor Coleridge(1772−1834)はイギリスの詩人。Jacob Bronowski(1908−1974)はイギリスの数学者、科学史家。

本章では、Rustの「ユーティリティ」トレイトとわれわれが呼んでいる雑多なトレイトを紹介していく。これらのトレイトは標準ライブラリでも用いられていて、Rustそのものへも影響を与えている。これらを知っておかないと、慣用的に用いられる書き方でコードを書いたり、「Rustらしい」クレートの公開インターフェイスを設計することができない。本章で紹介するクレートは、大別して3つのカテゴリに分けられる。

言語拡張トレイト
前節で紹介した、演算子オーバロードトレイトは、Rustの式で用いる演算子をユーザが定義した型に対しても適用できるようにするものだった。これと同じように、ユーザが定義した型をより密接に言語と統合するための、拡張点の役割を果たす標準ライブラリトレイトがいくつかある。Drop、Deref、DerefMut、変換トレイトのFromとIntoがこれに相当する。本章でこれらを紹介する。
マーカトレイト
マーカトレイトは、ジェネリックな型変数を制約して、他の方法では表現できない制約を表現するために用いられる。SizedとCopyはマーカトレイトだ。
共有語彙としてのトレイト
これらのトレイトはコンパイラのサポートを受けておらず、まったく同じ機能を持つものを独自に定義することもできる。しかし、これらのトレイトは一般的な問題に対する慣用的な解決法を定義するという、重要な目的のために用いられている。これらのトレイトは、クレートやモジュールの公開インターフェイスで特に役に立つ。不必要な多様性を減らし、インターフェイスを理解しやすくしてくれる。さらに、複数のクレートの機能を、余分なボイラープレートコードやグルーコードなしに、直接つなぎ合わせることができる可能性を向上させるのにも役立つ。 ...
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

プログラミングRust

プログラミングRust

Jim Blandy, Jason Orendorff, 中田 秀基
詳解 システム・パフォーマンス 第2版

詳解 システム・パフォーマンス 第2版

Brendan Gregg, 西脇 靖紘, 長尾 高弘
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

David Scott Bernstein, 吉羽 龍太郎, 永瀬 美穂, 原田 騎郎, 有野 雅士

Publisher Resources

ISBN: 9784873119786Other