在 2015年9月16日星期三 UTC+8上午11:27:12,Jim P写道:
> On Tuesday, September 15, 2015 at 8:35:23 PM UTC-6, ZH ZD wrote:
>> When I run these code, the IDL will exit. (IDL 8.5 windows x64)
>> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
>> print,str
>> a=str.map(lambda(x:x.split(',')))
>> print,a
>>
>> Does someone find this issue too?
>
> The example runs without producing an *immediate* crash error for me on Win7-64 in both 32- and 64-bit command line IDL 8.5. However, setting the variable "a" to 0 after those lines will crash IDL in all cases.
>
> The results printed before this are not consistent.
>
> On 64-bit command line I get this.
>
> IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
> IDL> print,str
> 0,1,2 3,4,5 6,7,8 9,10,11
> IDL> a=str.map(lambda(x:x.split(',')))
> IDL> print,a
> 0 9 3
> 3 9 6
> 6 9 1
> 9 10 11
>
> On 32-bit command line, I get a different set of output lines:
>
>
> IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
> IDL> print,str
> 0,1,2 3,4,5 6,7,8 9,10,11
> IDL> a=str.map(lambda(x:x.split(',')))
> IDL> print,a
> 0 9 3
> 3 1 6
> 6 9 9
> 9 10 11
>
> The 64-bit Workbench likewise doesn't fail but it produces a different type of output, which is clearly wrong.
>
> IDL> str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
> IDL> print,str
> IDL> a=str.map(lambda(x:x.split(',')))
> 0,1,2 3,4,5 6,7,8 9,10,11
> IDL> print,a
> 0 R 3
> 3 e 6
> 6 R 9
> 9 en me
>
> Setting "a = 0" following any of these will indeed crash IDL 8.5.
Yes, the same issue for me. But when you put these codes in a pro file, you run the code and then IDL crash.
PRO test
COMPILE_OPT idl2
str=STRJOIN(strtrim(fix(bindgen(3,4)),2),',')
print,str
a=str.map(lambda(x:x.split(',')))
print,a
END
|