.bzl ファイル、BUILD、MODULE.bazel、VENDOR.bazel、WORKSPACE など、すべての Bazel ファイルで使用できるメソッド。
メンバー
- abs
- すべて
- 任意
- bool
- dict
- dir
- enumerate
- fail
- float
- getattr
- hasattr
- hash
- int
- len
- list
- max
- 分
- 範囲
- repr
- 取り消し
- set
- 並べ替え
- str
- タプル
- type
- zip
abs
unknown abs(x)数値の絶対値(同じ大きさの正の数値)を返します。
abs(-2.3) == 2.3
パラメータ
パラメータ | 説明 |
---|---|
x
|
int、または float。必須 数値(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 型のコンストラクタ。オブジェクトが
None
、False
、空の文字列(""
)、数値 0
、空のコレクション(()
、[]
など)の場合は False
を返します。それ以外の場合は True
を返します。
パラメータ
パラメータ | 説明 |
---|---|
x
|
デフォルトは False 変換する変数。 |
dict
dict dict(pairs=[], **kwargs)省略可能な位置引数と省略可能なキーワード引数からディクショナリを作成します。同じキーが複数回指定された場合は、最後の値が使用されます。キーワード引数で指定されたエントリは、位置引数で指定されたエントリの後に来るものと見なされます。
パラメータ
パラメータ | 説明 |
---|---|
pairs
|
デフォルトは [] ディクショナリ、または要素の長さが 2 個(キー、値)の反復可能オブジェクト。 |
kwargs
|
必須 追加エントリのディクショナリ。 |
dir
list dir(x)パラメータ オブジェクトの属性とメソッドの名前である文字列のリストを返します。
パラメータ
パラメータ | 説明 |
---|---|
x
|
必須 チェックするオブジェクト。 |
列挙
list enumerate(list, start=0)インデックス(int)と入力シーケンスのアイテムを含むペアのリスト(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
|
文字列、または None 。デフォルトは None 。非推奨。この文字列を含むプレフィックスがエラー メッセージに追加されます(省略可)。 |
sep
|
文字列。デフォルトは " " 。オブジェクト間の区切り文字列。デフォルトはスペース(「"」)です。 |
args
|
必須 debugPrint(デフォルトでは str と同等)でフォーマットされ、sep(デフォルトは「"」)で結合された値のリスト。エラー メッセージに表示されます。 |
float
float float(x=unbound)x を浮動小数点値として返します。
x
がすでに浮動小数点数の場合、float
は変更せずに返します。x
がブール値の場合、float
は true の場合は 1.0、false の場合は 0.0 を返します。x
が整数の場合、float
は x に最も近い有限浮動小数点値を返します。大きさが大きすぎる場合はエラーが返されます。x
が文字列の場合は、有効な浮動小数点リテラルであるか、NaN
、Inf
、Infinity
と等しい(大文字と小文字を区別しない)必要があります。必要に応じて、+
または-
記号を先頭に付けることができます。
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 の数字のシーケンスです。ここで、10 ~ 35 の数字には a ~ z の文字(または A ~ Z の文字)が使用されます。base
が 2、8、16 の場合、<prefix>
は省略可能で、それぞれ 0b、0o、0x(または同等の 0B、0O、0X)にできます。base
がこれらの基数以外の値または特別な値 0 の場合は、接頭辞を空にする必要があります。base
が 0 の場合、文字列は整数リテラルとして解釈されます。つまり、使用されている接頭辞に応じて、基数 2、8、10、16 のいずれかが選択されます。base
が 0 で、接頭辞が使用されておらず、桁が複数ある場合、先頭の桁は 0 にできません。これは、八進数と十進数との混同を避けるためです。文字列で表される数値の桁数は、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 を指定すると、 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 つだけ指定されている場合は、空でないイテラブルでなければなりません。要素が比較できない場合(整数と文字列など)、または引数が指定されていない場合はエラーになります。
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 と文字列など)、または引数が指定されていない場合は、エラーになります。
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
|
文字列。デフォルトは " " 。オブジェクト間の区切り文字列。デフォルトはスペース(「"」)です。 |
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;
必須 停止が指定されている場合は開始要素の値、それ以外の場合は停止の値で、実際の開始は 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=[])試験運用版。この API は試験運用版であり、随時変更される可能性があります。これに依存しないでください。
--experimental_enable_starlark_set
を設定することで、試験運用版として有効にできます。新しいセットを作成します。必要に応じて、指定されたイテラブルの要素を含むように初期化します。
パラメータ
パラメータ | 説明 |
---|---|
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
|
イテラブル。必須 並べ替えるイテラブル シーケンス。 |
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)
tuple
の list
を返します。ここで、i 番目のタプルには、各引数のシーケンスまたはイテラブルの i 番目の要素が含まれます。リストのサイズは、最も短い入力のサイズになります。イテレブルな引数が 1 つの場合、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 にリストします。 |