web-dev-qa-db-ja.com

モジュールをビルドするときのJuliaの「using」と「import」の違いは何ですか?

質問:独自のモジュールを構築しているときのJuliaのusingimportの違いは何ですか?

ドキュメントを読んだことに基づく私の推測:usingは、別のモジュールを現在のモジュールの名前空間に移動するために使用されます。 importは、他のモジュールの特定の型/関数/変数を現在のモジュールの名前空間に取り込むために使用されます。

それで、私はどれほど間違っていますか?

28
Colin T Bowers

ジュリア モジュールのドキュメント 状態:

importキーワード[...]は、一度に1つの名前でのみ機能しますusingのように検索するモジュールは追加されません。 importusingとは異なり、関数はimportを使用してインポートし、新しいメソッドで拡張する必要があります。 [...]名前がusingを介してのみ表示される関数は拡張できません

(エンファシスマイン。)

たとえば、importを使用してメソッドをBase.showに追加し、独自のタイプをプリティプリントできますが、usingではできません。

モジュールのエクスポートされたすべての名前をインポートするimportallもあります。

29
user4235730