Provider

<ph type="x-smartling-placeholder"></ph> 問題を報告 ソースを表示 ナイトリー · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

プロバイダ インスタンスと呼ばれる単純な値オブジェクトのコンストラクタ。
この値には次の 2 つの目的があります。

  • これは、「構造体」に似た値を作成するために呼び出すことができる関数です。
    DataInfo = provider()
    d = DataInfo(x = 2, y = 3)
    print(d.x + d.y) # prints 5
    注: 内部で定義されているプロバイダの中には、インスタンスの作成が許可されていないものがあります。
  • これは、ターゲットのプロバイダ インスタンスにアクセスするためのです。
    DataInfo = provider()
    def _rule_impl(ctx)
      ... ctx.attr.dep[DataInfo]
provider 関数を使用して新しい Provider を作成します。