ソフトウェア/Igor の履歴(No.1)
更新Igor†
データ解析に Wave Metrics 社の Igor Pro を使っています。
なかなか癖のあるソフトですが、 Igor 上でプログラムを組むことでかなり複雑なデータ解析も自動化できていろいろ捗ります。
ここには使い回しの効きそうなコード例を上げていこうと思います。
ファイル名操作用のユーティリティ関数†
":" 区切りで渡されたファイルパスを操作する関数。
同名の Delphi の関数を模したものです。
LANG:Igor // ファイル名を返す function/T ExtractFileName(filename) string filename return StringFromlist(ItemsInList(filename, ":")-1, filename, ":") end // ファイルパスを返す (末尾には : が付く) function/T ExtractFilePath(filename) string filename return filename[0,strlen(filename)-strlen(ExtractFileName(filename))-1] end // filename の . 以降を取り除いたものに ext を付ける function/T ChangeFileExt(filename, ext) string filename, ext variable i = strsearch(filename, ".", inf, 3) if(i<0) return filename + ext else return filename[0,i-1] + ext endif end
使用例
LANG:Igor print ExtractFileName("c:folder1:folder2:file.ext") // prints "file.ext" print ExtractFilePath("c:folder1:folder2:file.ext") // prints "c:folder1:folder2:" print ExtractFilePath("c:folder1:folder2:file.ext") + "newfile.ext" // prints "c:folder1:folder2:newfile.ext" print ChangeFileExt("c:folder1:folder2:file.ext", ".txt") // prints "c:folder1:folder2:file.txt" print ChangeFileExt("c:folder1:folder2:file.ext", "") // prints "c:folder1:folder2:file"
Counter: 14770 (from 2010/06/03),
today: 3,
yesterday: 2