2013-05-28 1 views

ответ

1

В настоящее время пользователь.r устарел как риск для безопасности. Предполагается, что это будет диалогический метод, чтобы это произошло ... но пока никто не начал работать над этим.

См http://chat.stackoverflow.com/transcript/291?m=9149463#9149463

4

В Rebol 3 вы загружаете код, используя rebol.r, который, как предполагается идти в том же каталоге, что и исполняемый rebol. Он не загружает rebol.r из домашнего каталога пользователя, потому что файлы в этом каталоге, как правило, могут быть записаны программами, выполняемыми с разрешениями пользователя, что делает его хорошим местом для размещения вредоносного ПО. Предполагается, что место, в которое вы помещаете исполняемый файл rebol, более легко защищается от записи кода пользователя.

Файл user.r зарезервирован для установки пользовательских настроек и предпочтений, выраженных на непроцедурном диалекте (который мы еще не обсуждали). Даже когда он вернется, это не будет способ загрузить код по той же причине, что rebol.r не загружен из домашнего каталога пользователя. Это будет только для предпочтений.

Если вы хотите загрузить пользовательский код, вы можете явно указать код в rebol.r, но будьте осторожны с проблемами безопасности. Необходимость для кода, специфичного для пользователя, встречается редко в Rebol 3.

Вы также можете рассмотреть возможность использования системы модулей Rebol 3. Большинство библиотек и кода полезности лучше определять в модулях, и вы можете решить, где разместить эти модули, установив system/options/module-paths. Затем ваши скрипты импортируют фактические модули по имени, не зная, где они находятся. Вы также можете установить system/options/default-suffix, расширение по умолчанию для модулей, в случае, если %.reb вам не по душе.

Редко, что вы захотите загрузить код для глобального использования, поскольку потребность в коде является локальной для скриптов. Одним из таких способов является загрузка расширений в rebol.r, прежде чем блокировать защиту, чтобы больше не было загружено никаких расширений; это позволяет ограничить расширения до утвержденного списка. Любой глобальный код может задерживаться, поэтому он не загромождает систему для скриптов, которые ей не нужны. Задерживаемый код не импортируется до тех пор, пока сценарий не будет запрошен.

+0

В настоящее время я вижу необходимость загрузки gui при запуске .. так что попробуем rebol.r для load-gui, а также загрузите редактор. –