Main Content

import

現在のインポート リストへの名前空間、クラス、関数の追加

説明

import Namespace.ClassName は、現在のインポート リストにクラス名を追加します。名前空間全体を指定せずにクラスを参照するには、コード内で関数 import を使用します。

インポート リストのスコープは次のように定義されます。

  • 入れ子関数およびローカル関数を含む関数 — スコープは関数の全体です。これには import より前のコードも含まれます。

    関数のインポート リストは、その関数に対する複数の呼び出し間で保持され、関数が消去された場合にのみ消去されます。詳細については、関数 clear を参照してください。関数またはスクリプト内で clear import を呼び出さないでください。

    スクリプト — スコープはスクリプト本体の全体です。これには import より前のコードも含まれます。スクリプト内のインポートを使用できるのはスクリプト本体のみであり、スクリプトを呼び出すスコープでは使用できません。たとえば、インポートが含まれるスクリプトをコマンド プロンプトで実行しても、インポートはコマンド ウィンドウで使用可能になりません。

  • ベース ワークスペース — スコープはコマンド プロンプトで実行されたコードです。基本のインポート リストを消去するには、MATLAB® コマンド プロンプトに clear import を入力します。

import Namespace.FunctionName は、指定された名前空間ベースの関数を追加します。名前空間内のすべての関数をインポートせずに、この構文を使用して名前空間内の特定の関数の名前を簡略にすると、予期しない名前の競合が発生することがあります。

import Namespace.ClassName.staticMethodName は、指定された静的メソッドを追加します。この構文を使用して、指定された静的メソッドの名前を簡略化します。

import Namespace.* は、指定された名前空間識別子の内容を追加します。Namespace の後に .* を付けなければなりません。

この構文の使用は避けてください。これは、名前空間の内容のインポートにより指定されていない名前のセットがローカル スコープに持ち込まれ、MATLAB ワークスペースの名前と競合することがあるためです。この構文の使用方法の 1 つとして、部分的な名前空間のインポートがあります。この場合、関数を呼び出すときに短い名前空間名を使用しても、単純な関数名と競合しません。

import はスコープ内の現在のインポート リストを表示します。

L = import は現在のインポート リストを返します。

すべて折りたたむ

import java.util.Currency java.lang.String

java.lang.String オブジェクトを作成します。名前空間識別子 java.lang を入力する必要はありません。

s = String('hello')
s =

hello

名前空間識別子を入力せずに、Currency クラス メソッドをリストします。

methods Currency
Methods for class java.util.Currency:

equals                    getAvailableCurrencies    getClass                  getCurrencyCode           getDefaultFractionDigits  getDisplayName            getInstance               getNumericCode            getSymbol                 hashCode                  notify                    notifyAll                 toString                  wait                      

インポート リストで部分的な名前空間識別子を使用して matlab.io.hdf4.sd 名前空間関数の呼び出しを簡略化し、MATLAB 関数 close との競合を防止します。

import matlab.io.hdf4.*

簡略化した名前空間識別子 sd を使用して、システムにサンプル ファイル sd.hdf の絶対パスを表示します。

sdID = sd.start('sd.hdf');
filename = sd.getFilename(sdID)
filename =

matlabroot\matlab\toolbox\matlab\matlab_sci\hdf4\sd.hdf

sd 名前空間識別子を使用して関数 close を呼び出します。

sd.close(sdID)

部分的な名前空間識別子をインポートすると、MATLAB 関数 close との名前の競合はありません。

which close
matlabroot\matlab\toolbox\matlab\graphics\close.p

matlab.io.hdf4.sd.* の構文を使用して名前空間識別子全体をインポートした場合、close を呼び出すと MATLAB は常に名前空間関数を選択します。close を使用して Figure を削除することはできません。

matlab.io.hdf4.sd の名前空間関数 readChunk を関数 myfunc にインポートします。単純な名前 readChunk を使用して関数を呼び出すことができますが、これは myfunc のスコープ内のみです。

function data = myfunc(ID,n,m)
import matlab.io.hdf4.sd.readChunk
data = readChunk(ID,[n m]);
end

静的メソッド matlab.metadata.Class.fromName を関数 myFunc にインポートします。単純な名前 fromName を使用して静的メソッドを呼び出すことができますが、これは myFunc のスコープ内のみです。

function metaClsObj = myFunc(ClassName)
    import matlab.metadata.Class.fromName
    metaClsObj = fromName(ClassName);
end

サンプル ファイル sd.hdf を開き、temperature データ セットにアクセスします。

import matlab.io.hdf4.*
sdID = sd.start('sd.hdf');
idx = sd.nameToIndex(sdID,'temperature');
sdsID = sd.select(sdID,idx);

前述の例から関数 myfunc を呼び出してデータを読み取ります。簡略化した名前空間識別子を使用するには、myfunc に固有の import ステートメントが必要です。

dataChunk = myfunc(sdsID,0,1);

ファイルを閉じます。

sd.endAccess(sdsID)
sd.close(sdID)
import
ans = 

    'java.util.Currency'
    'java.lang.String'
    'matlab.io.hdf4.*'
    'matlab.io.hdf4.sd.readChunk'

入力引数

すべて折りたたむ

名前空間識別子。string または文字ベクトルとして指定します。

例: matlab.io.hdf4

クラスの名前。string または文字ベクトルとして指定します。

例: Currency

名前空間関数の名前。string または文字ベクトルとして指定します。

例: readChunk

静的メソッドの名前。string または文字ベクトルとして指定します。

例: fromName

データ型: char | string

出力引数

すべて折りたたむ

インポート リスト。文字ベクトルの cell 配列として返されます。

制限

  • import は、MATLAB Compiler SDK™ 製品で作成された Java® JAR 名前空間を読み込むことができません。

  • import を関数内の条件付きステートメントでは使用しないでください。MATLAB は import ステートメントを前処理してから、条件付きステートメントの変数を評価します。

バージョン履歴

R2006a より前に導入

すべて展開する