установка rgl в веб-сервисах amazon [дубликат]

Это все в «волшебном» синтаксисе вызова метода:

object.property();

Когда вы получаете свойство из объекта и вызываете его за один раз, объект будет контекстом для метода , Если вы вызываете тот же метод, но в отдельных шагах, контекст представляет собой глобальную область (окно):

var f = object.property;
f();

Когда вы получаете ссылку на метод, он больше не привязан к объекту, это просто ссылка на простую функцию. То же самое происходит, когда вы получаете ссылку на использование в качестве обратного вызова:

this.saveNextLevelData(this.setAll);

Здесь вы привязываете контекст к функции:

this.saveNextLevelData(this.setAll.bind(this));

Если вы используете jQuery вы должны использовать метод $.proxy, а bind не поддерживается во всех браузерах:

this.saveNextLevelData($.proxy(this.setAll, this));
23
задан jogo 4 January 2016 в 10:29
поделиться

2 ответа

Используйте сервер Xbox виртуального фреймбуфера - мы делаем то же самое, чтобы создавать пакеты, требующие X11 для R-сборки в безгласных chroots. Принимая, например, pars Build-Depends from rggobi:

xvfb xauth xfonts-base

После их установки вы можете использовать команду xvfb-run. Если вы запустите R через, например,

xvfb-run R --no-save

, теперь вы сможете использовать подпрограммы и команды, требующие X11, например. некоторые из графических устройств или инициализация tcl / tk, которая также настаивает на наличии X11.

Тот же трюк полезен для веб-серверов.

33
ответ дан Dirk Eddelbuettel 22 August 2018 в 06:57
поделиться

Предложение Дирка действительно хорошо работает, если у вас есть контроль над сервером & amp; может запускать xvfb. Если нет, прочитайте ...

в новых версиях R (> = 2.10 и, возможно, раньше), это уже не ошибка, это предупреждение:

> library(tcltk)
Loading Tcl/Tk interface ... done
Warning message:
In fun(libname, pkgname) : no DISPLAY variable so Tk is not available

Теперь вы можете подавить это предупреждение и последующее сообщение загрузки пакета через:

> suppressPackageStartupMessages(suppressWarnings(library(tcltk)))

Часто вы увидите это сообщение из-за загрузки пакета, такого как qvalue, который зависит от tcltk; если вы после бесшумной работы, вы должны сначала загрузить tcltk, а затем интересующий пакет:

> suppressPackageStartupMessages(suppressWarnings(library(tcltk)))
> library(qvalue)

Mark

воскрес из-за: http: // dev.list.galaxyproject.org/wrapping-qvalue-in-Galaxy-td4655164.html

9
ответ дан drmjc 22 August 2018 в 06:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: