Protocol

AdditiveArithmetic

A type with values that support addition and subtraction. 加算と減算をサポートする値を持つ型。

Declaration 宣言

protocol AdditiveArithmetic

Overview 概要

The AdditiveArithmetic protocol provides a suitable basis for additive arithmetic on scalar values, such as integers and floating-point numbers, or vectors. You can write generic methods that operate on any numeric type in the standard library by using the AdditiveArithmetic protocol as a generic constraint. AdditiveArithmeticプロトコルは、例えば整数および浮動小数点数、またはベクターなど、スカラー値に関する加算算術にふさわしい基礎を提供します。あなたは、AdditiveArithmeticプロトコルを総称体制約として使うことで、標準ライブラリのあらゆる数値型上で作用する総称体メソッドを書くことができます。

The following code declares a method that calculates the total of any sequence with AdditiveArithmetic elements. 以下のコードは、AdditiveArithmetic要素をもつ何らかのシーケンスの合計を計算するメソッドを宣言します。


extension Sequence where Element: AdditiveArithmetic {
    func sum() -> Element {
        return reduce(.zero, +)
    }
}

The sum() method is now available on any sequence with values that conform to AdditiveArithmetic, whether it is an array of Double or a range of Int. sum()メソッドは、今ではAdditiveArithmeticに準拠する値をもつあらゆるシーケンス上で利用可能です、それがDoubleからなる配列であろうと Intからなるある範囲であろうと。


let arraySum = [1.1, 2.2, 3.3, 4.4, 5.5].sum()
// arraySum == 16.5


let rangeSum = (1..<10).sum()
// rangeSum == 45

Conforming to the AdditiveArithmetic Protocol AdditiveArithmeticプロトコルに準拠する

To add AdditiveArithmetic protocol conformance to your own custom type, implement the required operators, and provide a static zero property. AdditiveArithmeticプロトコル準拠をあなた自身のあつらえの型に加えるには、必要とされる演算子を実装してください、そしてある静的zeroプロパティを提供してください。

Topics 話題

Type Properties 型プロパティ

Operator Functions 演算子関数

Relationships 関係

Inherits From 継承元

Inherited By 継承される先

See Also 参照

Basic Arithmetic 基本算術