RateOfChange
이라는 메서드가 있습니다.이 메서드는 1 초 간격으로 읽은 두 값을 사용하여 결과를 반환합니다. 이 개 위치에 대한측정 단위 - 다른 단위가 전달 된 재사용 방법
, 그것은 등 두 번째는 줄 (Joule)을 반환이 개 에너지 값 /를 들어,이 가속도를 반환,이 개 속도에 대한 속도를 반환
이 물리적으로 가능하지만, 측정의 단위는하지 않습니다
let RateOfChangeWithTime (value1, value2) = (value2 - value1)/1.0<SI.s>
let velocity = RateOfChangeWithTime(2.0<SI.m>, 1.0<SI.m>)
let acceleration = RateOfChangeWithTime(3.0<SI.m/SI.s>, 2.0<SI.m/SI.s>)
방법은 물론 속도에 대한 올바른 float<SI.m> -> float<SI.m>/float<SI.s>
, 구속되도록 velocity =
라인,하지만 라인 acceleration =
을 ... : 처음 사용할 방법이 지정 유형 contrained있다 - 나를 그렇게을 전달할 때 컴파일에 실패합니다.3210은이 방법이 기대하지 않는 것입니다.
나는 RateOfChangeWithTime
이 전달 된 유형을 불변으로하고 싶지만 초 단위로 나누어 진 측정 단위를 반환하고 싶습니다.
이것은 실제 라이브 상황과 더 일치하는 것처럼 보일 수 있습니다. (더 복잡한 시나리오를 위해이 작업을 수행하려고합니다. 여기를 참조하십시오.
멋진 답변을 주셔서 대단히 감사합니다. ;-) –