首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu 20上定义GDL函数时出错

在Ubuntu 20上定义GDL函数时出错
EN

Stack Overflow用户
提问于 2020-10-13 12:31:40
回答 1查看 129关注 0票数 0

我在运行Ubuntu20.04的机器上安装了GDL v0.9.9。我正在尝试编写一个计算朱利安日期的函数。

list_1文件:

代码语言:javascript
复制
FUNCTION JulianDate, L, M, N
    L1 = L + 4716 - FLOOR((14 - M) / 12)
    M1 = (M + 9) MOD 12
    G = FLOOR(3/4*FLOOR((L1 + 184)/100)) - 38
    RETURN, FLOOR(365.25 * L1) + FLOOR(30.6 * M1 + 0.4) + N - G - 1402
END

JD = JulianDate(1990, 4, 30)

不幸的是,在$ gdl list_1之后,我得到了错误:

代码语言:javascript
复制
% Programs can't be compiled from single statement mode.
% Variable is undefined: L
% Execution halted at: $MAIN$          
% Variable is undefined: M
% Execution halted at: $MAIN$          
% Variable is undefined: L1
% Execution halted at: $MAIN$          
% Return statement in procedures cannot have values.
% Parser syntax error: unexpected token: END
% Ambiguous: Variable is undefined: JULIANDATE or: Function not found: JULIANDATE
% Execution halted at: $MAIN$  

我将我的代码与IDL的文档进行了比较(因为它应该是“相互理解的”),而且它看起来对我很好。在GDL中声明/定义/调用函数是否与IDL中的函数不同?

编辑1:我设法用IDL8.5在机器上运行我的代码。函数必须在任何变量之前在文件的开头声明。然而,它并没有改变GDL的行为。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-14 20:45:21

idlidlde (GUI)的行为不同:虽然idl要求将函数存储在单独的.pro文件中,但idlde处理与运行脚本相同的文件中的函数,只要它们是在任何其他命令之前声明的。

gdl的行为就像idl一样,因此函数在单独文件中的声明解决了这个问题。

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

https://stackoverflow.com/questions/64335330

复制
相关文章

相似问题

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