すべての Bazel ファイル

問題を報告する Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

.bzl ファイル、BUILD、MODULE.bazel、VENDOR.bazel、WORKSPACE など、すべての Bazel ファイルで使用できるメソッド。

メンバー

abs

unknown abs(x)

数値の絶対値(同じ大きさの負でない数値)を返します。
abs(-2.3) == 2.3

パラメータ

パラメータ 説明
x int、または float。必須
数値(整数または浮動小数点数)

すべて

bool all(elements)

すべての要素が True と評価される場合、またはコレクションが空の場合に true を返します。要素は bool 関数を使用してブール値に変換されます。
all(["hello", 3, True]) == True
all([-1, 0, 1]) == False

パラメータ

パラメータ 説明
elements 必須
文字列または要素のコレクション。

任意

bool any(elements)

少なくとも 1 つの要素が True と評価された場合、True を返します。要素は bool 関数を使用してブール値に変換されます。
any([-1, 0, 1]) == True
any([False, 0, ""]) == False

パラメータ

パラメータ 説明
elements 必須
文字列または要素のコレクション。

ブール値

bool bool(x=False)

bool 型のコンストラクタ。オブジェクトが NoneFalse、空の文字列("")、数値 0、または空のコレクション(()[] など)の場合、False を返します。それ以外の場合は、True を返します。

パラメータ

パラメータ 説明
x デフォルトは False
です。 変換する変数。

dict

dict dict(pairs=[], **kwargs)

オプションの位置引数とオプションのキーワード引数のセットから辞書を作成します。同じキーが複数回指定された場合は、最後の値が使用されます。キーワード引数で指定されたエントリは、位置引数で指定されたエントリの後に指定されたものと見なされます。

パラメータ

パラメータ 説明
pairs デフォルトは []
です。 辞書、または要素の長さがそれぞれ 2(キー、値)のイテラブル。
kwargs 必須
追加エントリのディクショナリ。

dir

list dir(x)

文字列のリスト(パラメータ オブジェクトの属性とメソッドの名前)を返します。

パラメータ

パラメータ 説明
x 必須
チェックするオブジェクト。

列挙する

list enumerate(list, start=0)

インデックス(整数)と入力シーケンスの項目を含むペア(2 要素のタプル)のリストを返します。
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]

パラメータ

パラメータ 説明
list 必須
入力シーケンス。
start int; デフォルトは 0
開始インデックス。

fail

None fail(msg=None, attr=None, sep=" ", *args)

エラーが発生して実行が失敗します。

パラメータ

パラメータ 説明
msg デフォルトは None
です。 非推奨: 代わりに位置引数を使用してください。この引数は、暗黙的な先頭の位置引数として機能します。
attr string、または None。デフォルトは None
です。 非推奨。この文字列を含むプレフィックスをエラー メッセージに追加します。
sep string; デフォルトは " "
オブジェクト間の区切り文字。デフォルトはスペース(" ")です。
args 必須
エラー メッセージに表示される値のリスト。debugPrint(デフォルトでは str と同等)で書式設定され、sep(デフォルトでは「 」)で結合されます。

float

float float(x=unbound)

x を浮動小数点値として返します。
  • x がすでに浮動小数点数の場合、float は変更せずに返します。
  • x がブール値の場合、float は True の場合は 1.0、False の場合は 0.0 を返します。
  • x が int の場合、float は x に最も近い有限の浮動小数点値を返します。大きさが大きすぎる場合はエラーを返します。
  • x が文字列の場合、有効な浮動小数点リテラルであるか、NaNInfInfinity と等しい(大文字と小文字を区別しない)必要があります。必要に応じて、+ または - 記号を前に付けることができます。
その他の値はエラーになります。引数がない場合、float() は 0.0 を返します。

パラメータ

パラメータ 説明
x デフォルトは unbound
変換する値。

getattr

unknown getattr(x, name, default=unbound)

指定された名前の構造体のフィールドが存在する場合は、そのフィールドを返します。それ以外の場合は、default(指定されている場合)を返すか、エラーを発生させます。getattr(x, "foobar")x.foobar と同等です。
getattr(ctx.attr, "myattr")
getattr(ctx.attr, "myattr", "mydefault")

パラメータ

パラメータ 説明
x 必須
属性がアクセスされる構造体。
name string; 必須
構造体属性の名前。
default デフォルトは unbound
です。 構造体に指定された名前の属性がない場合に返すデフォルト値。

hasattr

bool hasattr(x, name)

オブジェクト x に指定された name の属性またはメソッドがある場合は True、それ以外の場合は False を返します。例:
hasattr(ctx.attr, "myattr")

パラメータ

パラメータ 説明
x 必須
チェックするオブジェクト。
name string; 必須
属性の名前。

ハッシュ

int hash(value)

文字列のハッシュ値を返します。これは、Java の String.hashCode() と同じアルゴリズム(
s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
文字列以外の値のハッシュ化は現在サポートされていません。

パラメータ

パラメータ 説明
value string; 必須
ハッシュする文字列値。

int

int int(x, base=unbound)

x を int 値として返します。
  • x がすでに int の場合、int は変更せずに返します。
  • x がブール値の場合、int は True の場合は 1、False の場合は 0 を返します。
  • x が文字列の場合、<sign><prefix><digits> の形式にする必要があります。<sign> は、"+""-"、または空(正として解釈)のいずれかです。<digits> は 0 から base - 1 までの数字のシーケンスです。ここで、文字 a ~ z(または A ~ Z)は 10 ~ 35 の数字として使用されます。base が 2/8/16 の場合、<prefix> は省略可能で、それぞれ 0b/0o/0x(または同等の 0B/0O/0X)にできます。base がこれらの基数または特殊な値 0 以外の値の場合、接頭辞は空である必要があります。base が 0 の場合、文字列は整数リテラルとして解釈されます。つまり、どの接頭辞が使用されているかに応じて、基数 2、8、10、16 のいずれかが選択されます。base が 0 で、2 桁以上の数字がある場合、先頭の数字は 0 にできません。これは、8 進数と 10 進数の混同を避けるためです。文字列で表される数値の大きさは、int 型の許容範囲内である必要があります。
  • x が浮動小数点数の場合、int は浮動小数点数の整数値を返し、ゼロに向かって丸めます。x が非有限(NaN または無限大)の場合はエラーになります。
x が他の型である場合、または値が上記の形式を満たさない文字列である場合、この関数は失敗します。Python の int 関数とは異なり、この関数では引数をゼロにすることはできません。また、文字列引数に余分な空白を含めることもできません。

例:

int("123") == 123
int("-123") == -123
int("+123") == 123
int("FF", 16) == 255
int("0xFF", 16) == 255
int("10", 0) == 10
int("-0x10", 0) == -16
int("-0x10", 0) == -16
int("123.456") == 123

パラメータ

パラメータ 説明
x 必須
変換する文字列。
base デフォルトは unbound
です。文字列値を解釈するために使用される基数。デフォルトは 10 です。2 ~ 36(両端を含む)または 0 を指定します。0 を指定すると、x が整数リテラルであるかのように基数を検出します。値が文字列でない場合、このパラメータは指定しないでください。

len

int len(x)

文字列、シーケンス(リストやタプルなど)、辞書、セット、その他のイテラブルの長さを返します。

パラメータ

パラメータ 説明
x 必須
長さをレポートする値。

list

list list(x=[])

指定されたイテラブル値と同じ要素を含む新しいリストを返します。
list([1, 2]) == [1, 2]
list((2, 3, 2)) == [2, 3, 2]
list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]

パラメータ

パラメータ 説明
x iterable; デフォルトは []
変換するオブジェクト。

最大

unknown max(key=None, *args)

指定されたすべての引数のうち、最大の引数を返します。位置引数が 1 つだけ指定されている場合は、空でないイテラブルである必要があります。要素が比較可能でない場合(int と string など)、または引数が指定されていない場合は、エラーになります。
max(2, 5, 4) == 5
max([5, 6, 3]) == 6
max("two", "three", "four", key = len) =="three"  # the longest
max([1, -1, -2, 2], key = abs) == -2  # the first encountered with maximal key value

パラメータ

パラメータ 説明
key 呼び出し可能、または None。デフォルトは None
です。 比較の前に各要素に適用されるオプションの関数。
args required
チェックする要素。

unknown min(key=None, *args)

指定されたすべての引数のうち、最小の引数を返します。位置引数が 1 つだけ指定されている場合、空でないイテラブルである必要があります。要素が比較可能でない場合(int と string など)、または引数が指定されていない場合は、エラーになります。
min(2, 5, 4) == 2
min([5, 6, 3]) == 3
min("six", "three", "four", key = len) == "six"  # the shortest
min([2, -2, -1, 1], key = abs) == -1  # the first encountered with minimal key value

パラメータ

パラメータ 説明
key 呼び出し可能、または None。デフォルトは None
です。 比較の前に各要素に適用されるオプションの関数。
args required
チェックする要素。

プリント

None print(sep=" ", *args)

args をデバッグ出力として出力します。この呼び出しの文字列 "DEBUG" と場所(ファイルと行番号)が接頭辞として付加されます。引数が文字列に変換される正確な方法は指定されておらず、いつでも変更される可能性があります。特に、str()repr() によって行われるフォーマットとは異なる(より詳細な)フォーマットになることがあります。

print を本番環境コードで使用すると、ユーザーにスパムが作成されるため、使用しないことをおすすめします。非推奨の場合、可能な限り fail() を使用してハードエラーを優先します。

パラメータ

パラメータ 説明
sep string; デフォルトは " "
オブジェクト間の区切り文字。デフォルトはスペース(" ")です。
args 必須
印刷するオブジェクト。

範囲

sequence range(start_or_stop, stop_or_none=None, step=1)

step の増分を使用して、アイテムが start から stop になるリストを作成します。引数が 1 つだけ指定されている場合、アイテムの範囲は 0 からその要素までになります。
range(4) == [0, 1, 2, 3]
range(3, 9, 2) == [3, 5, 7]
range(3, 0, -1) == [3, 2, 1]

パラメータ

パラメータ 説明
start_or_stop int; 必須
stop が指定されている場合は start 要素の値。それ以外の場合は stop の値で、実際の start は 0
stop_or_none int; または None; デフォルトは None
結果のリストに含めない最初の項目のオプションのインデックス。リストの生成は stop に達する前に停止します。
step int; デフォルトは 1
増分(デフォルトは 1)。負の値になることもあります。

repr

string repr(x)

任意のオブジェクトを文字列表現に変換します。これはデバッグに役立ちます。
repr("ab") == '"ab"'

パラメータ

パラメータ 説明
x 必須
変換するオブジェクト。

取り消し済み

list reversed(sequence)

元のイテラブル シーケンスの要素を逆順で含む、新しいフリーズされていないリストを返します。
reversed([3, 5, 4]) == [4, 5, 3]

パラメータ

パラメータ 説明
sequence iterable; 必須
反転するイテラブル シーケンス(リストなど)。

set

set set(elements=[])

指定されたイテラブルの一意の要素を含む新しいセットを作成し、イテレーションの順序を保持します。

引数なしで呼び出された場合、set() は新しい空のセットを返します。

たとえば、

set()                          # an empty set
set([3, 1, 1, 2])              # set([3, 1, 2]), a set of three elements
set({"k1": "v1", "k2": "v2"})  # set(["k1", "k2"]), a set of two elements

パラメータ

パラメータ 説明
elements デフォルトは []
セット、ハッシュ可能な値のシーケンス、または辞書。

並べ替え

list sorted(iterable, key=None, *, reverse=False)

指定されたイテラブル シーケンスのすべての要素を含む新しいソート済みリストを返します。要素のペア x、y を x < y を使用して比較できない場合、エラーが発生することがあります。要素は昇順で並べ替えられます。ただし、reverse 引数が True の場合は降順になります。並べ替えは安定しています。比較して等しい要素は、元の相対順序を保持します。
sorted([3, 5, 4]) == [3, 4, 5]
sorted([3, 5, 4], reverse = True) == [5, 4, 3]
sorted(["two", "three", "four"], key = len) == ["two", "four", "three"]  # sort by length

パラメータ

パラメータ 説明
iterable iterable; 必須
並べ替えるイテラブル シーケンス。
key 呼び出し可能、または None。デフォルトは None
です。 比較の前に各要素に適用されるオプションの関数。
reverse bool; デフォルトは False
結果を降順で返します。

str

string str(x)

任意のオブジェクトを文字列に変換します。これはデバッグに役立ちます。
str("ab") == "ab"
str(8) == "8"

パラメータ

パラメータ 説明
x 必須
変換するオブジェクト。

tuple

tuple tuple(x=())

指定されたイテラブル値と同じ要素を持つタプルを返します。
tuple([1, 2]) == (1, 2)
tuple((2, 3, 2)) == (2, 3, 2)
tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)

パラメータ

パラメータ 説明
x iterable; デフォルトは ()
変換するオブジェクト。

type

string type(x)

引数の型名を返します。これは、デバッグと型チェックに役立ちます。例:
type(2) == "int"
type([1]) == "list"
type(struct(a = 2)) == "struct"
この関数は今後変更される可能性があります。Python 互換のコードを記述して将来にわたって使用できるようにするには、戻り値の比較にのみ使用します。
if type(x) == type([]):  # if x is a list

パラメータ

パラメータ 説明
x 必須
型をチェックするオブジェクト。

zip

list zip(*args)

tuplelist を返します。ここで、i 番目のタプルには、引数シーケンスまたはイテラブルのそれぞれから i 番目の要素が含まれます。リストのサイズは、最も短い入力のサイズになります。単一のイテラブル引数を指定すると、1 タプルのリストが返されます。引数がない場合は、空のリストを返します。例:
zip()  # == []
zip([1, 2])  # == [(1,), (2,)]
zip([1, 2], [3, 4])  # == [(1, 3), (2, 4)]
zip([1, 2], [3, 4, 5])  # == [(1, 3), (2, 4)]

パラメータ

パラメータ 説明
args zip する必要がある
リスト。