第4章 オブジェクト、型、プロトコル¶
表示、比較、反復といった小さなプロトコルを確認してから、数値型やコンテナ型の設計に進みます。
問題一覧¶
- 0400: 座標を表す小さなプロトコル:2次元の点を、表示、比較、反復の各プロトコルに対応させます。
- 0401: 半開区間を表すコンテナ:整数の半開区間を、長さ、所属判定、反復に対応させます。
- 0402: 入れ子リストのコピー:2次元の盤面を表す入れ子リストから、行を共有しないコピーを作ります。
- 0450: 剰余環 Z/nZ:剰余環の元を表すクラスを数値プロトコルで実装し、eq と hash の整合性を保つ問題です。
- 0451: 半順序としての多重集合包含:多重集合の包含関係を比較プロトコルで定義し、比較不能な対を持つ半順序を観察する問題です。
- 0452: 不変連結リスト:cons セルによるイミュータブルな連結リストを実装し、構造共有をオブジェクトの同一性で確認する問題です。
- 0453: 遅延属性:getattr で初回アクセス時にだけ計算してインスタンス辞書に埋める遅延属性を実装する問題です。
- 0454: 四元数:非可換な積を持つ四元数を数値プロトコルで実装し、mul と rmul の役割分担を扱う問題です。