rebol - Rebol R3 有哪些配置文件?它们是如何加载的?

标签 rebol rebol3

在 Rebol 2 中,有一个 user.r 和 rebol.r 文件,用于添加将在启动期间加载的代码。 这对 Rebol R3 有何改变?

最佳答案

在 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 中的扩展,这样就无法加载更多的扩展;这使您可以将扩展名限制在批准的列表中。任何全局代码都可以延迟加载,因此它不会因不需要它的脚本而使系统困惑。延迟加载的代码在脚本请求之前不会真正导入。

关于rebol - Rebol R3 有哪些配置文件?它们是如何加载的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16783021/

相关文章:

constructor - TO 和 MAKE 的目的有何不同,它们记录在何处?

excel - Rebol - 使用图像生成 Excel

python - 什么是适用于 MS Windows 的 QuickTime API 的优秀教程?

tdd - Rebol Saphirion GUI 测试驱动开发 (TDD)

xml - 替换 XML 文件中的特定值

rebol - 如何在 REBOL 中处理网络超时?

rebol - 如何与没有比较

Rebol3 - 在评估 load-gui 后,如何在 Rebol3 中提取所有带有描述的 GUI 样式?

https - Rebol 3 - 如何通过 https 提交用户名和密码?

http - 如何仅使用 Rebol3 发送 HTTP POST 请求