(クラス)
Curl 言語コードのコンテナ。
説明
Package オブジェクトは、すべてのコード オブジェクトのコンテナの役目を果たします。クラスや関数の定義などのコード オブジェクトはそれぞれ少なくとも 1 つの
Package オブジェクト内に存在します。
Package は具象クラスですが、
Package 型のオブジェクトは
import または
import-package を使用して Curl パッケージからインポートした場合にのみ作成されます。このようなパッケージはすでに
frozen であり変更できません。こうしたオブジェクトで実行できる唯一の操作は、
meta-data または
lookup シンボルを調べることです。
サブクラスである
OpenPackage は、変更可能な package オブジェクトの作成を目的とする開発者が使用することができます。トップレベルのアプレット コードはすべて
OpenPackage のコンテキストで評価されます。
this-package を使用して、コードを現在コンパイル中である
Package オブジェクトを取得することができます。
get-current-package を使用して、現在実行中のアプレットまたはスクリプトの
Package オブジェクトを取得することができます。
アクセサ public final Package.imported-packages:{
FastArray-of Package}
add: | パッケージ内の名前のバインドを追加します。 |
public | {Package.add}:void |
public | {Package.get-members check-imports?:bool = true }:{FastArray-of PackageMember} |
public | {Package.get-nonlocal-option}:#Option |
public | {Package.get-nonlocal-options check-imports?:bool = true }:{FastArray-of Option} |
public | {Package.lookup}:(value:any, found?:bool) |
(アクセサ)
アクセサ public final Package.imported-packages:{
FastArray-of Package}
このパッケージが直接インポートするパッケージを返します。
(メソッド)
public | {Package.add}:void |
パッケージ内の名前のバインドを追加します。
name: バインドする名前。
value: name にバインドされる値。
type: バインドに関連付けられるコンパイル時の型。既定値は value の型になります。この型は value の型のスーパータイプであることが必要です。
constant?: バインドを定数として作成するかどうかを示します。
改訂
キーワード引数 constant? は Curl 7.0 で追加されました。
(メソッド)
名前でパッケージ メンバを検索します。
name: 検索する名前。
check-imports?: このフラッグが true の場合、このパッケージがパブリックでインポートした全パッケージも探します。インポートされた複数のパッケージで名前が見つかった場合、
AmbiguousNameError をスローします。false の場合、このパッケージで直接定義されたメンバのみを返します。
説明
一致するパブリック メンバが見つからない場合は null を返します。
(メソッド)
public | {Package.get-members check-imports?:bool = true }:{FastArray-of PackageMember} |
このパッケージからアクセス可能なすべてのパブリック メンバを返します。
check-imports?: このフラッグが true の場合、このパッケージがパブリックでインポートした全パッケージも探します。false の場合、このパッケージで直接定義されたメンバのみを返します。
説明
(メソッド)
public | {Package.get-nonlocal-option}:#Option |
名前で非ローカル オプションを検索します。
name: 検索する名前。
check-imports?: このフラグが true の場合、このパッケージによってインポートされるすべてのパッケージも検索されます。
説明
指定された
name でオプションを表す
Option オブジェクトを返します。
一致するオプションが見つからない場合は、null を返します。
(メソッド)
public | {Package.get-nonlocal-options check-imports?:bool = true }:{FastArray-of Option} |
このパッケージからアクセス可能なすべてのオプションを返します。
check-imports?: このフラッグが true の場合、このパッケージがインポートした全パッケージも探します。false の場合、このパッケージで直接定義されたオプションのみを返します。
説明
このパッケージからアクセス可能なすべてのオプションを示す
Option オブジェクトの配列を返します。
(メソッド)
public | {Package.lookup}:(value:any, found?:bool) |
パッケージ内の名前を検索します。
name: 検索する名前。
check-imports?: このフラグが true の場合、このパッケージによってインポートされるすべてのパッケージ内も検索されます。インポートされている複数のパッケージで名前が見つかった場合は
AmbiguousNameError がスローされます。
public-only?: true の場合はパブリックの名前のみが含まれます。パッケージがフリーズしている場合これは自動的に設定されます。
戻り値
name がパッケージ内でバインドされている場合、最初の戻り値はその値で、2 番目の戻り値は true になります。それ以外の場合は、最初の戻り値が null で 2 番目が false になります。
説明
凍結されたパッケージでは、public-only? が false に設定されていてもパブリック名にしかアクセスできない点に留意してください。