Как мне получить доступ к заголовку REBOL?

Допустим, у меня есть сценарий REBOL в другом файле (imported.r), который выглядит так:

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

Как мне импортировать этот файл в другой скрипт и получить доступ к содержимому заголовка REBOL? Я знаю load/header, но, похоже, ничего не могу с этим поделать.

imported: context load/header %imported.r

Что мне теперь делать, чтобы получить доступ к заголовку imported.r как object!?


person Gregory Higley    schedule 12.02.2009    source источник


Ответы (1)


ЗАГРУЗКА / ЗАГОЛОВОК дает вам блок кода, как вы можете видеть, НАПРАВЛЯЯ, что он возвращает. Он содержит неоцененный источник для создания объекта заголовка, за которым следует остальная часть сценария.

СДЕЛАТЬ ОБЪЕКТ! из этого кода заголовка один из способов -

>> 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 оценивает только первое выражение и возвращает результат выражения и позицию в блоке кода после этой оценки.

person Christian Ensel    schedule 15.02.2009
comment
Вы также можете сделать - script: load / header% import.r header: take script - person rgchris; 08.08.2010