11.10.1 Manipulating the Load Path

Last-modified: 2025-03-22 (土) 21:33:59

11.10.1 ロードパスの操作

関数が呼び出されると、Octave は関数宣言を含むファイルのディレクトリ リストを検索します。このディレクトリ リストはロード パスと呼ばれます。デフォルトでは、ロード パスには Octave とともに配布されるディレクトリ リストと現在の作業ディレクトリが含まれます。現在のロード パスを確認するには、path 入力引数または出力引数なしで関数を呼び出します。

addpathとを使用して、ロードパスにディレクトリを追加したり、ロードパスからディレクトリを削除したりすることができますrmpath。例として、次のコードは '~/オクターブ' をロード パスに追加します。

addpath ("~/Octave")
この後、ディレクトリ「~/オクターブ' 関数が検索されます。

: addpath (dir1, …)

: addpath (dir1, …, option)

: oldpath = addpath (…)

名前付きディレクトリを関数検索パスに追加します。

オプションが"-begin"または 0 (デフォルト) の場合、ディレクトリ名が現在のパスの先頭に追加されます。オプションが"-end"または 1 の場合、ディレクトリ名が現在のパスの末尾に追加されます。パスに追加されるディレクトリは存在している必要があります。

個々のディレクトリ引数を受け入れるだけでなく、 で区切られたディレクトリ名のリストpathsepも受け入れられます。例:

addpath ("~/Octave")

新しく追加されたパスは、 の引数に表示されるのと同じ順序でロード パスに表示されますaddpath。ロード パスを先頭まで拡張すると、引数リストの最後のパスが最初に追加されます。ロード パスを末尾まで拡張すると、引数リストの最初のパスが最初に追加されます。

追加された各ディレクトリで、パスにまだ含まれていない場合は、 addpath次の名前のファイルが存在するかどうかを確認します。PKG_ADD (.m 拡張子がないことに注意してください) 存在する場合はそれを実行します。

See also: path, rmpath, genpath, pathdef, savepath, pathsep.

: pathstr = genpath (dir)

: pathstr = genpath (dir, skipdir1, …)

dirとそのすべてのサブディレクトリから構築されたパスを返します。

パスにパッケージディレクトリ('+')、旧スタイルのクラスディレクトリ('@')、プライベート ディレクトリ、またはこれらのタイプのサブディレクトリ。

追加の文字列パラメータが指定された場合、結果のパスにはそれらの名前のディレクトリが除外されます。

See also: path, addpath.

: rmpath (dir1, …)

: oldpath = rmpath (dir1, …)

現在の関数検索パスから dir1 、…を削除します。

個々のディレクトリ引数を受け入れるだけでなく、 で区切られたディレクトリ名のリストpathsepも受け入れられます。例:

rmpath ("dir1:/dir2:~/dir3")

削除される各ディレクトリについてrmpath、PKG_DEL(.m 拡張子がないことに注意してください) 存在する場合はそれを実行します。

See also: path, addpath, genpath, pathdef, savepath, pathsep.

: savepath

: savepath file

: status = savepath (…)

現在の関数検索パスの一意の部分をファイルに保存します。

ファイルに保存されるフォルダーのリストには、Octave 独自の関数用に追加されたフォルダー、Octave パッケージに属するフォルダー ( pkg loadを参照)、およびコマンド ライン スイッチによって追加されたフォルダーは含まれません。

ファイルが省略された場合、Octaveは現在のディレクトリでプロジェクト固有の.オクターバーパス情報を保存するファイル。そのようなファイルが存在しない場合は、ユーザーの構成ファイル ~/.octavercが使用されます。

成功した場合はsavepath0 を返します。

このsavepath関数を使用すると、ユーザーの設定ファイルを簡単にカスタマイズして、特定のOctaveインスタンスに必要な作業パスを復元できます。ファイル名が指定されていない場合、Octaveは適切なディレクトリから保存されたディレクトリパスを自動的に復元します。 .オクターバー起動時にファイルを指定します。ファイル名が指定されている場合は、 を呼び出して手動でパスを復元できます。 source file

See also: path, addpath, rmpath, genpath, pathdef.

: path ()

: str = path ()

: str = path (path1, …)

Octave のロード パスを変更または表示します。

narginとnargoutがゼロの場合、Octave のロード パスの要素を読みやすい形式で表示します。

narginがゼロで、nargout がゼロより大きい 場合は、現在のロード パスを返します。

narginが 0 より大きい場合は、引数を で区切って連結しますpathsep。結果に内部検索パスを設定して返します。

重複する要素についてはチェックされません。

See also: addpath, rmpath, genpath, pathdef, savepath, pathsep.

: val = pathdef ()

Octave のデフォルト パスを返します。

パス情報は 4 つのソースのいずれかから抽出されます。可能なソースは、優先順位に従って次のとおりです。

.octaverc
/.octaverc
OCTAVE_HOME>/…/<version>/m/startup/octaverc
Octave’s path prior to changes by any octaverc file.

See also: path, addpath, rmpath, genpath, savepath.

<OCTAVE_HOME>/…/<バージョン>/m/startup/octaverc
octaverc ファイルによって変更される前の Octave のパス。

See also: path, addpath, rmpath, genpath, savepath.

: val = pathsep ()

パス内のディレクトリを区切るために使用される文字を照会します。

See also: filesep.

: rehash ()

Octave のロード パス ディレクトリ キャッシュを再初期化します。

: fname = file_in_loadpath (file)

: fname = file_in_loadpath (file, "all")

指定されたディレクトリのリスト内にファイルが見つかった場合は、そのファイルの絶対名を返しますpath。

ファイルが見つからない場合は、空の文字列を返します。

ファイルがすでに絶対名である場合、名前は Octave のロードパスではなくファイルシステムに対してチェックされます。この場合、ファイルが存在する場合はfnameに返され、存在しない場合は空の文字列が返されます。

最初の引数が文字列のセル配列の場合、ロードパスの各ディレクトリでセル配列の要素を検索し、一致する最初の要素を返します。

2 番目のオプション引数"all"が指定されている場合は、パス内で同じ名前を持つすべてのファイルのリストを含むセル配列を返します。ファイルが見つからない場合は、空のセル配列を返します。

See also: file_in_path, dir_in_loadpath, path.

: pathstr = restoredefaultpath ()

起動時に Octave のパスを初期状態に復元します。

再初期化されたパスが出力として返されます。

See also: path, addpath, rmpath, genpath, pathdef, savepath, pathsep.

: pathstr = command_line_path ()

インタープリタの起動時にコマンドラインで Octave に渡されたパス引数を返します ( )。 --path arg

See also: path, addpath, rmpath, genpath, pathdef, savepath, pathsep.

: dirname = dir_in_loadpath (dir)

: dirname = dir_in_loadpath (dir, "all")

指定されたディレクトリのリスト内にdirに一致するロードパス要素が見つかった場合、その絶対名を返しますpath。

一致するものが見つからない場合は、空の文字列を返します。

一致は各パス要素の末尾で実行されます。たとえば、 dirが の場合"foo/bar"、パス要素 と一致します "/some/dir/foo/bar"が、 とは一致しません "/some/dir/foo/bar/baz" "/some/dir/allfoo/bar"。dir が単なるパス フラグメントではなく絶対名である場合、Octave のロードパスではなくファイル システムに対して一致が行われます。この場合、dirが存在する場合はdirnameに返され、存在しない場合は空の文字列が返されます。

オプションの 2 番目の引数が指定されている場合は、

See also: file_in_path, file_in_loadpath, path.

: current_encoding = mfile_encoding ()

: mfile_encoding (new_encoding)

: old_encoding = mfile_encoding (new_encoding)

m ファイルの読み取りに使用されるエンコーディングを照会または設定します。

入力と出力は、エンコーディングを指定する文字列です (例: "utf-8")。

このエンコーディングは、関数dir_encodingまたはファイルを使用してmファイルを含む特定のディレクトリに異なるエンコーディングが設定されていない限り、Mファイルを読み込むときにOctaveのパーサーによって使用されます。.oct-configそのディレクトリ内。

特別な値は、"system"システム ロケールに一致するエンコーディングを選択します。

m ファイルが解析された後に m ファイルのエンコーディングが変更された場合、その変更を有効にするにはファイルを再度解析する必要があります。これは、 コマンドでトリガーできますclear all。

さらに、このエンコーディングは、Octave の GUI の組み込みエディターでファイルを読み込み、保存するために使用されます。

See also: dir_encoding.

: current_encoding = dir_encoding (dir)

: dir_encoding (dir, new_encoding)

: dir_encoding (dir, "delete")

: old_encoding = dir_encoding (dir, new_encoding)

dir内の m ファイルの読み取りに使用されるエンコーディングを照会または設定します。

ディレクトリごとのエンコーディングは、(グローバルに設定された) m ファイル エンコーディングをオーバーライドします。を参照してくださいmfile_encoding。

文字列DIR は、ロード パスでディレクトリが表示される方法と一致する必要があります。

new_encoding入力は、有効なエンコーディング識別子または でなければなりません "delete"。後者の場合、ディレクトリごとのエンコーディングは削除され、指定されたdirには (グローバルに設定された) m ファイル エンコーディングが使用されます。

出力引数が要求された場合にのみ、現在または以前に使用されたエンコーディングが返されます。

ディレクトリエンコーディングはファイルから自動的に読み取られます.oct-config ロード パスに新しいパスが追加された場合 ( などaddpath)。同じフォルダー内のすべてのファイルのエンコーディングを設定するには、そのファイルに で始まり、"encoding="その後にエンコーディング識別子が続く行が含まれている必要があります。

たとえば、同じフォルダ内のすべてのファイルのファイルエンコーディングをISO 8859-1(Latin-1)に設定するには、ファイルを作成します。.oct-config以下の内容です:

エンコーディング=iso8859-1
ファイルが解析された後にファイルのエンコーディングが変更された場合、その変更を有効にするにはファイルを再度解析する必要があります。これは、clear allコマンドを使用して実行できます。

See also: addpath, path, mfile_encoding.