假设我在另一个文件(imported.r
)中有一个REBOL脚本,如下所示:
REBOL [ author: {Greg} title: {Awesome REBOL Code} ] x: 3
如何将此文件导入另一个脚本并获取对REBOL标头内容的访问权限?我知道load/header
但我似乎无法用它做任何事情。
imported: context load/header %imported.r
我现在该怎样做才能以imported.r
的身份访问object!
的标题?
答案 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仅评估第一个表达式,并在评估后返回表达式的结果和代码块中的位置。