Processing:Справочник языка Processing/launch()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


launch() [1]

Обозначение

launch()

Описание

Пытается открыть программу или файл при помощи лаунчера (т.е. средства для запуска и открытия файлов) вашей операционной системы. Параметр args – это строка (String), содержащая название и расположение файла. В параметре args должен быть либо полный путь к файлу, либо название исполняемого файла в виде системной переменной PATH. В большинстве случаев лучше использовать полный путь к файлу, а не полагаться на переменную PATH. Перед открытием файла убедитесь, что его можно запустить (chmod +x).

Этот метод (примерно) эмулирует процесс, который происходит, когда вы дважды кликаете на иконку программы или документа в Finder’е macOS, эксплорере Windows или вашем любимом файловом менеджере Linux. Если вы хотите открыть/запустить файл напрямую через командную строку, воспользуйтесь методом exec() (подробнее о нем читайте ниже).

На разных ОС этот метод ведет себя по-разному. На Windows параметры отсылаются оболочке Windows при помощи команды «cmd /c». На Mac OS X используется команда «open» (чтобы вызвать справку, впишите в терминал «man open»). На Linux этот метод пробует сначала команду «gnome-open», затем «kde-open», но если ни одна из них не доступна, он отправляет команду оболочке, а вам лишь остается молиться, что в результате выйдет что-нибудь полезное.

Если вы знакомы с Java, то launch() – это не то же самое, что Runtime.exec(), поскольку launch() использует для открытия и запуска файлов лаунчер ОС. Метод exec(String[]) – это сокращенная версия Runtime.getRuntime.exec(String[]), и он подробно описан в справочнике языка Java в разделе о классе PApplet.

Синтаксис

launch(args)

Параметры

args  аргументы для лаунчера (например, название файла). Тип данных  массив String[]

Возвращаемое значение

Тип данных  объект Process

Пример

void setup() {
  size(200, 200);
}

void draw() { 
  // метод draw() нужен для того,
  // чтобы мог работать метод mousePressed():
}

void mousePressed() {
  println("Opening Process_4");
  launch("/Applications/Process_4.app");
}

См.также

Внешние ссылки