모든 Bazel 파일

문제 신고 Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

.bzl 파일, BUILD, MODULE.bazel, VENDOR.bazel, WORKSPACE를 비롯한 모든 Bazel 파일에서 사용할 수 있는 메서드입니다.

회원

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)

하나 이상의 요소가 True로 평가되면 true를 반환합니다. 요소는 bool 함수를 사용하여 불리언으로 변환됩니다.
any([-1, 0, 1]) == True
any([False, 0, ""]) == False

매개변수

매개변수 설명
elements 필수
문자열 또는 요소 모음입니다.

bool

bool bool(x=False)

불리언 유형의 생성자입니다. 객체가 None, False, 빈 문자열 (""), 숫자 0 또는 빈 컬렉션 (예: (), [])인 경우 False를 반환합니다. 그 외의 경우에는 True을 반환합니다.

매개변수

매개변수 설명
x 기본값은 False입니다.
변환할 변수입니다.

dict

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

선택적 위치 인수와 선택적 키워드 인수 집합에서 사전을 만듭니다. 동일한 키가 여러 번 제공되는 경우 마지막 값이 사용됩니다. 키워드 인수를 통해 제공된 항목은 위치 인수를 통해 제공된 항목 뒤에 오는 것으로 간주됩니다.

매개변수

매개변수 설명
pairs 기본값은 []
사전 또는 요소의 길이가 각각 2인 반복 가능한 객체 (키, 값)입니다.
kwargs required
추가 항목의 사전입니다.

dir

list dir(x)

매개변수 객체의 속성 및 메서드 이름인 문자열 목록을 반환합니다.

매개변수

매개변수 설명
x 필수
확인할 객체입니다.

enumerate

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 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가 문자열인 경우 유효한 부동 소수점 리터럴이거나 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 required
속성에 액세스되는 구조체입니다.
name string; required
구조체 속성의 이름입니다.
default 기본값은 unbound
구조체에 지정된 이름의 속성이 없는 경우 반환할 기본값입니다.

hasattr

bool hasattr(x, name)

객체 x에 지정된 name의 속성 또는 메서드가 있는 경우 True를 반환하고, 그렇지 않으면 False를 반환합니다. 예:
hasattr(ctx.attr, "myattr")

매개변수

매개변수 설명
x 필수
확인할 객체입니다.
name string; required
속성의 이름입니다.

해시

int hash(value)

문자열의 해시 값을 반환합니다. 이는 Java의 String.hashCode()와 동일한 알고리즘을 사용하여 결정론적으로 계산됩니다. 즉, 다음과 같습니다.
s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
현재 문자열 이외의 값 해싱은 지원되지 않습니다.

매개변수

매개변수 설명
value string; required
해시할 문자열 값입니다.

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는 0으로 반올림하여 부동 소수점 수의 정수 값을 반환합니다. x가 유한하지 않은 경우 (NaN 또는 무한대) 오류가 발생합니다.
x가 다른 유형이거나 값이 위 형식을 충족하지 않는 문자열인 경우 이 함수는 실패합니다. Python의 int 함수와 달리 이 함수는 인수가 0이 아니어야 하며 문자열 인수에 불필요한 공백을 허용하지 않습니다.

예:

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)

주어진 모든 인수 중 가장 큰 값을 반환합니다. 위치 인수가 하나만 제공되는 경우 비어 있지 않은 반복 가능한 객체여야 합니다.요소를 비교할 수 없는 경우 (예: 정수와 문자열) 또는 인수가 제공되지 않은 경우 오류가 발생합니다.
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)

주어진 모든 인수 중 가장 작은 값을 반환합니다. 위치 인수가 하나만 제공되는 경우 비어 있지 않은 반복 가능한 객체여야 합니다. 요소를 비교할 수 없거나(예: 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 string; 기본값은 " "입니다.
객체 간의 구분자 문자열로, 기본값은 공백 (" ")입니다.
args 필수
인쇄할 객체입니다.

범위

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

step 증분을 사용하여 항목이 start에서 stop으로 이동하는 목록을 만듭니다. 인수가 하나만 제공되면 항목의 범위는 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; required
stop이 제공된 경우 시작 요소의 값, 그렇지 않으면 stop의 값이고 실제 시작은 0입니다.
stop_or_none int 또는 None; 기본값은 None입니다.
결과 목록에 포함되지 않는 첫 번째 항목의 선택적 색인입니다. stop에 도달하기 전에 목록 생성이 중지됩니다.
step int; 기본값은 1
증분입니다 (기본값은 1). 음수일 수 있습니다.

repr

string repr(x)

모든 객체를 문자열 표현으로 변환합니다. 디버깅에 유용합니다.
repr("ab") == '"ab"'

매개변수

매개변수 설명
x 필수
변환할 객체입니다.

reversed

list reversed(sequence)

원래 반복 가능한 시퀀스의 요소가 역순으로 포함된 새 동결되지 않은 목록을 반환합니다.
reversed([3, 5, 4]) == [4, 5, 3]

매개변수

매개변수 설명
sequence iterable; required
역순으로 할 연쇄 (예: 목록)입니다.

set

set set(elements=[])

실험용 이 API는 실험용이며 언제든지 변경될 수 있습니다. 이 방법을 사용하지 마세요. --experimental_enable_starlark_set를 설정하여 실험적으로 사용 설정할 수 있습니다.

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 iterable; required
정렬할 반복 가능한 시퀀스입니다.
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; 기본값은 ()
변환할 객체입니다.

유형

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 필수
유형을 확인할 객체입니다.

우편번호

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
목록을 압축해야 합니다.