IDL中是否有任何功能允许它将字符串计算为代码?
或者,如果没有,那么在函数中包含/ KEYWORD是否有一种很好的动态方式?例如,如果我想问他们用户想要什么类型的地图投影,有没有办法很好地完成它,而不需要/ Projection_Type关键字需要大的if / case语句?
即使有少量用户选项,这些组合也会导致if / case语句失控,以便处理所有可能的选项。
答案 0 :(得分:3)
最好的办法是使用一个case语句,因为你不能相信你的用户会输入与你在关键字中所期望的Projection_Type相同的字符串。
虽然如果你开始做这样的事情,有一个EXECUTE函数将字符串视为IDL语句:
Result = EXECUTE(String [, QuietCompile] [, QuietExecution])
编辑添加,还有更快但可能不太灵活的CALL_FUNCTION和CALL_PROCEDURE。在IDL帮助中查看它们,看看哪些对您有用。