load/save ステートメントのファイル名に変数を使う
load
, save
に指定するファイル名は、文字列型のリテラルや変数ではなくて、書かれた文字列そのものが使用される。したがって、
val = 100; ofn = 'a'; save ofn val;
としても、“a
” というファイル名ではなく、 “ofn
” というファイル名になる。
このような場合は、以下のようにするとよい。
val = 100; ofn = 'a'; eval(printf('save %s val', ofn);
実は、関数形式で書けば、ファイル名と変数名を文字列で与えるので、こんな面倒なことは不要。変数名も文字列であることに注意。