構造体

構造体とは,「いろいろな種類の互いに関連するデータをまとめて, 1つのかたまりにしたもの」である.ここ等を参照.多くの変数をまとめて使うのに適する.

構造体の宣言

kozo=create_struct(name='str_name', 'tag1', indgen(10), 'tag2', 9d ....)
name=では構造体の名前を定義する,デフォルトはAnonymous (名無し) .tag1, tag2 ...はタグ名.それぞれの要素は行列でも,値でもよい.構造体の内訳を知りたいときは,
help, kozo ,/struc
とすると,
** Structure STR_NAME, 2 tags, length=28, data length=28:
  TAG1            INT       Array[10]
  TAG2            DOUBLE           9.0000000
こんな感じで教えてくれる.

構造体に関する基本的な関数

構造体のタグの配列(string型)を作りたければ以下を使う.
tag_names(structure)
構造他のタグ数を知りたければ以下を使う.
n_tags(structure)

構造体の参照

構造体内の要素を参照したい時は,
print, kozo. tag2
とすれば,
      9.0000000
が得られる.また,
print, kozo. (1)
というように,tagの番号を入れても同様の結果が得られる.また,要素が配列のときは,
print, kozo. tag2[5]
または
print, kozo.tag1[5]
のように書く.

構造体の結合

いま,2つの構造体str1 とstr2 があるとき,これらを一つの構造体にしたい場合は,
str = create_struct(st1, st2)
とすれば,結合することができる.新しく要素を追加する場合は,
str = create_struct(st1, st2, tag, element)
とする.

構造体の要素の取り出し

kozo = {hoge, tag1:[0,1,1,0], tag2:[3,4,5,6]}
例えば以上の構造体をwhere関数を用いて特定の要素を取り出したいときは以下のように書く.
lab = where(kozo.tag1 eq 0)
print, kozo.tag2[lab]
出力結果は,
      3       6
となる.
最終更新:2012年09月24日 13:58
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。