2009-02-12 64 views
2

比方說,我有一個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!

回答

4

LOAD/HEADER爲您提供了一個代碼塊,您可以通過探測返回的結果來看到它。它包含構建頭對象的未經評估的源,隨後是腳本的其餘部分。

要製造一個物體!從標題代碼,一個辦法是

>> 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" 

這使您可以通過標題和腳本代碼的腳本塊對象訪問,因爲DO/NEXT只評估第一個表達式,並在評估之後返回表達式的結果和代碼塊中的位置。

+0

您還可以執行腳本:load/header%imported.r header:take script – rgchris 2010-08-08 01:10:44