Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

import

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

説明

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

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

  • 入れ子関数およびローカル関数を含む関数またはスクリプト — スコープは関数です。

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

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

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

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

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

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

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

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 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 ステートメントを前処理してから、条件付きステートメントの変数を評価します。

互換性についての考慮事項

すべて展開する

R2019b での動作変更

R2006a より前に導入