0

文字列をコードとして評価できる IDL の機能はありますか?

または、それに失敗した場合、関数に /KEYWORD を含めるための優れた動的な方法はありますか? たとえば、ユーザーが希望する地図投影のタイプを尋ねたい場合、必要な /Projection_Type キーワードに大きな if/case ステートメントを使用せずにうまく行う方法はありますか?

ユーザー オプションの数が少なくても、これらの組み合わせにより、考えられるすべてのオプションを処理するために if/case ステートメントがすぐに手に負えなくなります。

4

1 に答える 1

3

最善の策は、case ステートメントを使用することです。ユーザーが Projection_Type にキーワードと同じ文字列を入力するとは思えないからです。

ただし、このようなことを行うことに設定されている場合は、文字列を IDL ステートメントとして扱う EXECUTE 関数があります。

Result = EXECUTE(String [, QuietCompile] [, QuietExecution])

編集して追加すると、CALL_FUNCTION と CALL_PROCEDURE もあり、これらはより高速ですが、柔軟性が低い可能性があります。IDL ヘルプでそれらをすべて調べて、何が有効かを確認してください。

于 2010-05-26T18:28:05.277 に答える