如何访问 REBOL 标头?

发布于 2024-07-13 11:36:55 字数 361 浏览 7 评论 0原文

假设我在另一个文件 (imported.r) 中有一个 REBOL 脚本,如下所示:

REBOL [
    author: {Greg}
    title: {Awesome REBOL Code}
]
x: 3

如何将此文件导入到另一个脚本中并访问 REBOL 标头的内容? 我知道 load/header 但我似乎无法用它做任何事情。

imported: context load/header %imported.r

现在我该怎么做才能将 imported.r 的标头作为 对象访问!

Let's say I have a REBOL script in another file (imported.r) that looks like this:

REBOL [
    author: {Greg}
    title: {Awesome REBOL Code}
]
x: 3

How can I import this file into another script and gain access to the contents of the REBOL header? I'm aware of load/header but I can't seem to do anything with it.

imported: context load/header %imported.r

What do I do now to access the header of imported.r as an object!?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘和柠 2024-07-20 11:36:55

LOAD/HEADER 为您提供了一段代码,您可以通过探测它返回的内容来看到这一点。 它包含用于构建标头对象的未评估源,后面是脚本的其余部分。

制作一个物体! 从该标头代码中,一种方法是

>> set [header script] do/next load/header %imported.r
>> header/title 
== "Some script title"

or,如果您只需要标头对象,则

>> header: first do/next load/header %imported.r
>> header/title 
== "Some script title"

这可以通过 HEADER 和 SCRIPT 块中的脚本代码进行对象访问,因为 DO/NEXT 仅计算第一个表达式并返回计算后的表达式和代码块中的位置。

LOAD/HEADER gives you a block of code, as you can see by PROBEing what it returns. It contains the unevaluated source for building a header object followed by the rest of the script.

To MAKE an OBJECT! from that header code, one way is to

>> set [header script] do/next load/header %imported.r
>> header/title 
== "Some script title"

or, if you only need the header object, just

>> header: first do/next load/header %imported.r
>> header/title 
== "Some script title"

This gives you object access via HEADER and the scripts code in the SCRIPT block, as DO/NEXT evaluates only the first expression and returns the result of the expression and the position in the code block after that evaluation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文