如何访问REBOL标头?

时间:2009-02-12 05:41:25

标签: rebol

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

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

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

imported: context load/header %imported.r

我现在该怎样做才能以imported.r的身份访问object!的标题?

1 个答案:

答案 0 :(得分:4)

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

制作一个对象!从那个标题代码,一种方法是

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

或者,如果您只需要标题对象,只需

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

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