在循环中创建结构并分配给 IDL 中的另一个结构
Create structures in loop and assign to another structure in IDL
在 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
我想将所有 4 个不同名称的警报(即警报 1 = 、警报 2 = ...)分配给主“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
希望这有助于指导。
在 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
我想将所有 4 个不同名称的警报(即警报 1 = 、警报 2 = ...)分配给主“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
希望这有助于指导。