数千以上の固有のケースを含むswitchcaseステートメントがあります。ユーザーが各ケースをケース番号で覚えるのは困難です。したがって、私はケースごとに一意の文字列を使用し、それをハッシュして、指定された文字列の選択'sel'を取得しています。
% Example c code
sel =hashfunction(string)
switch (sel) {
case 0:
func0();
case 1:
func1();
......
......
case 10000:
func10000();
}
ただし、このコードは1つのファイルに収める必要があるため非常に大きくなり、たとえば100行のコーディングガイドラインにも違反します。ケースと関数呼び出しの一意のマッピングがあるため、ポインターを使用してforループ内で関数を呼び出して呼び出すことができると思います。これは、スイッチケースよりも非常にコンパクトになります。これを達成するための助けは大歓迎です。