genrand2d.pro 中的 IDL 语法错误
IDL syntax error in genrand2d.pro
我对 IDL 不是很熟悉,但正在尝试 运行 同事给我的代码。我在通用代码片段 genrand2d.pro(从 here 下载)中遇到奇怪的语法错误,这阻止了整个事情 运行ning。这可能是版本语法更改的事情,因为我的同事有 IDL 版本 6.3 而我有 8.6.0(在 Scientific Linux 7.2 上)但我无法找到语法更改列表或类似于检查。
引起问题的行是:
randx = arrscl(randomu(seed, nbad, /double), $
minx, maxx, $
arrmin=0d, arrmax=1d )
错误信息:
arrmin=0d, arrmax=1d )
^
% Syntax error.
At: /generic/path/genrand2d.pro, Line 114
我的猜测是 IDL 混淆了 arrscl
是数组还是函数。要测试是否是这种情况,请编译 arrscl
、重新编译 genrand2d
,然后重试。
一般来说,要修复这些错误,请在您的所有例程中使用 compile_opt strictarr
并始终使用方括号进行数组索引。
我对 IDL 不是很熟悉,但正在尝试 运行 同事给我的代码。我在通用代码片段 genrand2d.pro(从 here 下载)中遇到奇怪的语法错误,这阻止了整个事情 运行ning。这可能是版本语法更改的事情,因为我的同事有 IDL 版本 6.3 而我有 8.6.0(在 Scientific Linux 7.2 上)但我无法找到语法更改列表或类似于检查。
引起问题的行是:
randx = arrscl(randomu(seed, nbad, /double), $
minx, maxx, $
arrmin=0d, arrmax=1d )
错误信息:
arrmin=0d, arrmax=1d )
^
% Syntax error.
At: /generic/path/genrand2d.pro, Line 114
我的猜测是 IDL 混淆了 arrscl
是数组还是函数。要测试是否是这种情况,请编译 arrscl
、重新编译 genrand2d
,然后重试。
一般来说,要修复这些错误,请在您的所有例程中使用 compile_opt strictarr
并始终使用方括号进行数组索引。