Có, đây là có thể sử dụng các chức năng TAG_NAMES
:
tnames=TAG_NAMES(struct)
tindex=WHERE(STRCMP(tnames,'fieldname') EQ 1)
data=struct.(tindex)
Các cuộc gọi đến TAG_NAMES
trả về một mảng các chuỗi đại diện cho các thẻ quy định tại struct
. Câu lệnh WHERE
trả về chỉ mục trong tnames
của chuỗi phù hợp với 'fieldname'
. Cuối cùng, chỉ mục được chuyển đến hoạt động struct.(tindex)
, thao tác này trích xuất một trường theo chỉ số thẻ số . Tất nhiên, trong một ứng dụng thực tế bạn muốn kiểm tra xem tindex
đã thành công phù hợp với điều gì đó hay không, nếu không IDL sẽ bị nghẹt thở trong việc tra cứu cấu trúc với chỉ mục của -1.
Nguồn
2010-05-10 22:10:28
Rất vui khi thấy một lập trình viên IDL khác trên SO! Có lẽ một ngày nào đó chúng ta có thể lấy lại thẻ 'của chúng ta' từ những người lập trình CORBA ... –