同じ次元の単なる乗算器である測定単位を自動変換できることは素晴らしいことです。 (kg - > g、cm - > mm、km - > m)。私は、オンラインで何を読んでから:F#(キロメートル - >メートル)での自動計測単位の変換
https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/units-of-measure https://fsharpforfunandprofit.com/posts/units-of-measure/
私はヘルパー関数なしでこの作業を持ってすることはできないようです。私の見解では、これらの変換は計算を汚染します。私はこのようなものが動作するようにしたい:
[<Measure>] type m
[<Measure>] type km = 1000 * m
以下のいずれかが動作しません。
let distance = 1000 * 10**3 <m>
これは他の方法で達成できますか?
問題に新しいユニットのサポートを追加するのは非常に簡単ですその方法は付属しています... 。測定の単位は素晴らしいです、それらはより頻繁に使用されるべきです – s952163
いいえ、私は散文として読むために私のコードにしたいです。 F#はそれで良いです。この特定の問題では、不必要な些細な変換なしで入力と計算を宣言したいと思います。私が紙の上でやっているのと同じです。紙の上に – Pasho
あなたはあなたの質問からこの距離の事をしないだろう。あなたはスピード=距離/時間を行い、スピードを与えますが、距離とスピードの単位に基づいてスピードは異なります。私の理解のために、F#はまったく同じことをするでしょう。あなたの問題は何ですか? –