exponenta event banner

импорт

Добавление пакета, класса или функций в текущий список импорта

Описание

пример

import PackageName.ClassName добавляет имя класса в текущий список импорта. Для ссылки на класс без указания полного имени пакета используйте import функция в коде.

Область списка импорта определяется следующим образом:

  • Функция или сценарий, включая вложенную и локальную функцию - Scope является функцией.

    Область действия сценария - это тело сценария. Импорт в сценарии доступен только в теле сценария и недоступен в областях, которые вызывают сценарий. Например, выполнение сценария, содержащего импорт в командной строке, не делает импорт доступным в окне команд.

    Список импорта функции является постоянным для всех вызовов этой функции и сбрасывается только при сбросе функции. Дополнительные сведения см. в разделе clear функция. Не звонить clear import внутри функции или сценария.

  • Базовое рабочее пространство - в командной строке выполняется код области. Чтобы очистить базовый список импорта, введите clear import в командной строке MATLAB ®.

пример

import PackageName.FunctionName добавляет указанную функцию на основе пакета. Этот синтаксис используется для сокращения имени определенной функции в пакете без импорта каждой функции в пакете, что может вызвать непредвиденные конфликты имен.

пример

import PackageName.ClassName.staticMethodName добавляет указанный статический метод. Этот синтаксис используется для сокращения имени определенного статического метода.

пример

import PackageName.* добавляет указанное имя пакета. PackageName должны сопровождаться .*.

Избегайте использования этого синтаксиса, так как при импорте пакетов в локальную область добавляется неопределенный набор имен, который может конфликтовать с именами в рабочей области MATLAB. Одним из возможных способов использования этого синтаксиса является импорт имени частичного пакета. Затем при вызове функции используется более короткое имя пакета, которое не конфликтует с простыми именами функций. Например, 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.hdf в вашей системе с использованием укороченного имени пакета sd.

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

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

Вызовите функцию закрытия с помощью sd имя пакета.

sd.close(sdID)

Нет конфликта имен с MATLAB close при импорте имени частичного пакета.

which close
C:\Program Files\MATLAB\R2015a\toolbox\matlab\graphics\close.p

Если вы используете matlab.io.hdf4.sd.* синтаксис для импорта всего имени пакета при вызове closeMATLAB всегда выбирает функцию пакета. Вы не можете использовать close для удаления фигуры.

Импорт 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'

Входные аргументы

свернуть все

Имя пакета, указанное как строковый или символьный вектор.

Пример: matlab.io.hdf4

Имя класса, указанное как строковый или символьный вектор.

Пример: Currency

Имя функции пакета, указанное как строковый или символьный вектор.

Пример: readChunk

Имя статического метода, указанное как строковый или символьный вектор.

Пример: fromName

Типы данных: char | string

Выходные аргументы

свернуть все

Список импорта, возвращаемый в виде массива ячеек векторов символов.

Ограничения

  • import не удается загрузить пакет Java ® JAR, созданный продуктом SDK™ компилятора MATLAB.

  • Не использовать import в условных операторах внутри функции. MATLAB предварительно обрабатывает import перед оценкой переменных в условных операторах.

Вопросы совместимости

развернуть все

В R2019b изменилось поведение

Представлен до R2006a