Main Content

import

現在のインポート リストへのパッケージ、クラスまたは関数の追加

説明

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

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

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

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

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

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

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

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

import PackageName.* は、指定されたパッケージ名の内容を追加します。PackageName の後に .* を付けなければなりません。

この構文の使用は避けてください。これは、パッケージの内容のインポートにより指定されていない名前のセットがローカル スコープに持ち込まれ、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                    getDisplayName            notify                    
getAvailableCurrencies    getInstance               notifyAll                 
getClass                  getNumericCode            toString                  
getCurrencyCode           getSymbol                 wait                      
getDefaultFractionDigits  hashCode                  

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

import matlab.io.hdf4.*

簡略化したパッケージ名 sd を使用して、システムにサンプル ファイル sd.hdf の絶対パスを表示します。

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

C:\Program Files\MATLAB\R2015a\toolbox\matlab\imagesci\sd.hdf

sd パッケージ名を使用して関数 close を呼び出します。

sd.close(sdID)

部分的なパッケージ名をインポートすると、MATLAB 関数 close との名前の競合はありません。

which close
C:\Program Files\MATLAB\R2015a\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

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

function metaClsObj = myFunc(ClassName)
    import meta.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 より前に導入

すべて展開する