9

ステートメントを使用する場合、importNim はどのように/どこでモジュールの検索を実行しますか?

ファイル パスを使用できることはわかっていますが、ファイル パスを使用したくない場合は、ローカルで定義したモジュールを自分のマシンのどこに配置すればよいでしょうか?

私はまだ Nimble を使用したことがなく、それが 1 つの方法だと思いますが、モジュールがローカルでのみ定義されている場合にどのように行われるかについてもっと興味があります。

4

3 に答える 3

14

Nim は次の場所でモジュールを検索します。

  1. インポートするモジュールのディレクトリに相対的です (import dir.modnameまたはimport dir/modname、同じディレクトリにない場合)。
  2. メインモジュールのディレクトリに相対的です(同じディレクトリにない場合、import dir.modnameまたは経由で)。import dir/modname
  3. コマンド ライン オプション--pathまたはで指定されたディレクトリ内-p
  4. Nimble パッケージ ディレクトリ。通常は~/.nimble/pkgs.
  5. 標準ライブラリで。

このコマンドnim dumpは、使用されているすべてのモジュール検索パス (Nimble パッケージ以外) を表示します。

独自のモジュールを使用するには、次の操作を実行できます。

  1. --path/-pコマンド ライン オプションを使用して、それらを含むディレクトリをコンパイラに渡します。
  2. 同じコマンド ライン オプションを構成ファイルの 1 つに入れます。それらには、グローバル ファイル (システム全体の設定用)、ユーザー ファイル (ユーザーごとの設定用)、プロジェクト ファイル (プロジェクト設定用)、および親ディレクトリ構成ファイル (複数のディレクトリ用) があります。複数のプロジェクトで共有される構成の場合、現在のプロジェクト ディレクトリの親です)。必要な範囲のものを選択してください。
  3. Nimble を使用して、現在のユーザーが行ったプロジェクトのモジュールをインストールします。このために、ディレクトリに (実際の名前libname.nimbleに置き換えて) ファイルを作成し、 . その後、そのライブラリのファイルを他のプロジェクトから直接インポートできます。ライブラリを再度アンインストールするために使用します。libnamenimble install*.nimnimble uninstall libname

基本libname.nimbleファイルの内容は次のとおりです。

[Package]
name = "libname"
author = "Your Name"
version = "0.1"
description = "Example library."
license = "none"
于 2015-05-05T10:22:35.327 に答える
1

コマンドは、nim dumpパスにあるものを表示します。高度なコンパイラ オプションのドキュメントを参照してください。

于 2015-05-12T04:55:23.863 に答える