Может ли IDL оценивать строки как код? - PullRequest
0 голосов
/ 26 мая 2010

Есть ли какая-либо функциональность в IDL, которая позволит ему оценивать строку как код?

Или, в случае неудачи, есть хороший, динамичный способ включения / KEYWORD в функции? Например, если я хотел бы спросить их, какой тип проекции карты хочет пользователь, есть ли способ сделать это красиво, без больших операторов if / case для ключевого слова / Projection_Type, в котором он нуждается?

Даже при небольшом количестве пользовательских опций комбинации могут привести к тому, что операторы / case очень быстро выйдут из-под контроля для обработки всех возможных опций.

1 Ответ

3 голосов
/ 26 мая 2010

Лучше всего использовать инструкцию case, потому что вы не можете верить, что ваш пользователь введет ту же строку для Projection_Type, которую вы ожидаете, что и в ключевом слове.

Хотя, если вы настроены на что-то подобное, есть функция EXECUTE, которая обрабатывает строку как инструкцию IDL:

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

Отредактировано, чтобы добавить, есть также CALL_FUNCTION и CALL_PROCEDURE, которые быстрее, но, возможно, менее гибкие. Посмотрите их все в справке IDL и посмотрите, что работает для вас.

...