StackOverflowの群集。非常に自由なソフトウェア設計の質問があります。
私はしばらくの間これに対する寛大な解決策を探していました、そして私はここの誰かが問題への素晴らしい洞察を持っているかどうか疑問に思いました。これはデータ構造のパズルのようなものだと考えてください。
私がやろうとしているのは、任意の単位から任意の単位に変換できる単位変換器を作成することです。字句解析と構文解析がすでに行われていると仮定します。いくつかの簡単な例:
Convert("days","hours") // Yields 24
Convert("revolutions", "degrees") // Yields 360
物事をもう少し複雑にするには、入力間のあいまいさをスムーズに処理する必要があります。
Convert("minutes","hours") // Yields (1/60)
Convert("minutes","revolutions") // Yields (1/21600)
物事をさらに楽しくするには、すべての可能性を列挙する必要なしに、複雑なユニットを処理する必要があります。
Convert("meters/second","kilometers/hour")
Convert("miles/hour","knots")
Convert("Newton meters","foot pounds")
Convert("Acre feet","meters^3")
正解も不正解もありません。これを実現するためのアイデアを探しています。力ずくの解決策は常にありますが、シンプルでスケーラブルなエレガントなものが必要です。