在IDL中,我想用不同的数据在循环中创建一个结构,然后将它们全部分配给将压缩所有内容的主结构。我尝试使用结构数组,但由于无法分配给主要结构而被停止:
alarm_list = { rg : 0, rf : 4}
alarm = { $
Alarm_Id : 0 , $
Range : 1, $
Bin : 0 $
}
arr = REPLICATE(alarm, 4)
FOR ia = 0, 3 DO BEGIN
alarm.alarm_id = ia
alarm.bin = bin
arr[ia] = alarm
bin += 1
ENDFOR
我想将所有四个名称不同的警报(即,alarm1 =,alarm2 = ...)分配给主“ alarm_list”。谢谢您的回答。
您可以尝试以下方法,直接分配给数组,而不用将alarm变量用作中间变量:
alarm_list= REPLICATE({alarm, Alarm_Id:0, Range:1, Bin:0},4)
FOR ia = 0, 3 DO BEGIN
alarm_list[i].alarm_id = ia
alarm_list[i].bin = bin
bin += 1
ENDFOR
希望这对指导有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句