首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IDL :尝试下标超出了范围

IDL :尝试下标超出了范围
EN

Stack Overflow用户
提问于 2020-10-23 12:33:33
回答 1查看 576关注 0票数 0

IDL8.4引入了lambda函数。我有IDL8.6.1,lambda函数不完全像文档所描述的那样工作:

代码语言:javascript
复制
IDL> f = lambda(x : x * x)
IDL> print, call_function(f, findgen(10))
      0.00000      1.00000      4.00000      9.00000      16.0000      25.0000      36.0000      49.0000      64.0000
      81.0000
IDL>  print, f(findgen(10))
IDL$LAMBDAF5 IDL$LAMBDAF5 IDL$LAMBDAF5 IDL$LAMBDAF5 IDL$LAMBDAF5 IDL$LAMBDAF5 IDL$LAMBDAF5 IDL$LAMBDAF5 IDL$LAMBDAF5
IDL$LAMBDAF5
IDL> print, f(5)
% Attempt to subscript F with <INT      (       5)> is out of range.

那么,为什么f(5)不返回25

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-23 12:42:17

哦,正如这里评论的,这是记录在案

注意:要对Lambda函数进行直接调用,您应该确保打开compile_opt compile_opt idl2,以便IDL将括号解释为函数调用而不是数组索引。详情请参见COMPILE_OPT。

所以compile_opt strictarrcompile_opt idl2

然而,我原以为在默认情况下,直接呼叫是可能的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64500086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档