Как умножать и делить измерения - PullRequest
0 голосов
/ 10 июля 2020

Foundation.Measurement кажется отличным. Как использовать его для вычислений?

import Foundation

let mass = Measurement(value: 1, unit: UnitMass.kilograms)
let length = Measurement(value: 1, unit: UnitLength.meters)
let duration = Measurement(value: 1, unit: UnitDuration.seconds)

let force = mass * length / duration * duration

Приведенный выше код не работает:

Двоичный оператор '*' не может применяться к операндам типа 'Измерение' и «Измерение»

С чего начать, чтобы это стало возможным?

1 Ответ

0 голосов
/ 10 июля 2020

Mass, Length и Duration относятся к типу Measurement<UnitMass>. Вы не можете использовать для них напрямую оператор *. Вы должны получить к ним доступ по их value. Замените последнюю строку следующей.

let force = mass.value * length.value / (duration.value * duration.value)
...