2

imported.r別のファイル ( ) に次のようなREBOL スクリプトがあるとします。

リボル [
    作者: {グレッグ}
    タイトル: {素晴らしい REBOL コード}
]
×:3

このファイルを別のスクリプトにインポートして、REBOL ヘッダーの内容にアクセスするにはどうすればよいですか? わかっているけどload/headerどうしようもない。

imported: context load/header %imported.r

imported.rのヘッダーにとしてアクセスするにはどうすればよいobject!ですか?

4

1 に答える 1

4

LOAD/HEADER は、返される内容をプローブすることでわかるように、コードのブロックを提供します。これには、ヘッダー オブジェクトを構築するための未評価のソースが含まれ、その後に残りのスクリプトが続きます。

オブジェクトを作るために!そのヘッダーコードから、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"

DO/NEXT は最初の式のみを評価し、式の結果とその評価後のコード ブロック内の位置を返すため、これにより、HEADER および SCRIPT ブロック内のスクリプト コードを介してオブジェクトにアクセスできます。

于 2009-02-15T07:19:31.597 に答える