| 天文学専攻 どせい の日記 |
|
January 23, 2012
idlastro, extarst.pro でのエラー報告とその対処
idlastro のプロシージャ extast を実行したら以下のようなエラーが出た.
% Attempt to subscript CTYPE with <INT ( 1)> is out of range. % Execution halted at: $MAIN$
解決法
調べたら remchar あたりでエラー(バージョンアップで関数の挙動が変わった?)があったようなので以下のように変更したら動いた.どうやら remchar でクオート記号を削除するときに配列が合体してしまうことが原因のよう.一応動いたけど別のデータを読み込んだら,また別のエラーを吐くかもしれない.要確認.
--- extast.orig.pro 2011-11-27 06:58:22.000000000 +0900 +++ extast.pro 2012-01-23 12:30:57.000000000 +0900 @@ -147,10 +147,12 @@ ctype = ['',''] l = where(keyword EQ 'CTYPE1'+alt, N_ctype1) - if N_ctype1 GT 0 then ctype[0] = lvalue[l[N_ctype1-1]] + if N_ctype1 GT 0 then ctype0 = lvalue[l[N_ctype1-1]] else ctype0 = '' + remchar,ctype0,"'" l = where(keyword EQ 'CTYPE2'+alt, N_ctype2) - if N_ctype2 GT 0 then ctype[1] = lvalue[l[N_ctype2-1]] - remchar,ctype,"'" + if N_ctype2 GT 0 then ctype1 = lvalue[l[N_ctype2-1]] else ctype1 = '' + remchar,ctype1,"'" + ctype = [ctype0, ctype1] ctype = strtrim(ctype,2) ; If the standard CTYPE* astrometry keywords not found, then check if the
December 21, 2011
bashなどで便利なブラケット展開についてメモ
とりあえずこのエントリでは以下のような展開を指して「ブラケット展開」と呼ぶことする(正式名称は知りません……).ブラケット内で記述されたルールに基づいて文字列のリストが生成される.
$ echo {a,b,c} # アイテム 3 つのブラケット展開 a b c $ echo どせい氏は{ばか,あほ}です. # 隣接する文字列も一緒に展開される どせい氏はばかです. どせい氏はあほです.
基本的はブラケット内部にカンマ区切りでアイテムを 2 個以上並べることでリストを生成できる.またブラケットに付随する文字列も一緒に生成されるため,拡張子の異なるファイルリストを生成する場合などに便利.
こんてんつ
- ブラケット展開を複数使用した場合
- ブラケット展開内部に変数を使用した場合
- 連続したリストを生成するブラケット展開






