모든 Starlark 파일

문제 신고

이 페이지에는 BUILD, WORKSPACE, MODULE.bazel, 모든 .bzl 파일을 비롯한 모든 Starlark 파일에서 사용할 수 있는 전역 메서드가 포함되어 있습니다.

구성원

모두

bool all(elements)

모든 요소가 참으로 평가되거나 컬렉션이 비어 있으면 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 default = False
변환할 변수입니다.

사전

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

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

매개변수

매개변수 설명
pairs default = []
dict 또는 반복 가능 요소 (각각 2)인 키, 값.
kwargs 필수
추가 항목의 사전입니다.

dir

list dir(x)

문자열 목록을 반환합니다. 매개변수 이름은 객체의 이름과 메서드 메서드를 반환합니다.

매개변수

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

열거

list enumerate(list, start=0)

색인 (int) 및 입력 시퀀스의 항목이 있는 쌍 (요소가 두 개인 튜플)을 반환합니다.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]

매개변수

매개변수 설명
list 필수
입력 시퀀스.
start 기본값은 0
시작 색인입니다.

fail

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

오류로 인해 실행이 실패합니다.

매개변수

매개변수 설명
msg 기본값 = 없음
지원 중단됨: 위치 인수를 대신 사용하세요. 이 인수는 선행하는 위치 인수처럼 작동합니다.
attr string; or None; 기본값 = None
지원 중단됨 이 문자열이 포함된 선택적 프리픽스가 오류 메시지에 추가됩니다.
args 필수
오류 메시지에 표시되는 str 형식으로 입력하고 공백이 포함된 값 목록.

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 기본값 = unbounded
변환할 값입니다.

Getattr

unknown getattr(x, name, default=unbound)

지정된 이름의 구조체 필드를 반환합니다(있는 경우). 그렇지 않으면 default (지정된 경우)를 반환하거나 오류가 발생합니다. getattr(x, "foobar")x.foobar와 동일합니다.
getattr(ctx.attr, "myattr")
getattr(ctx.attr, "myattr", "mydefault")

매개변수

매개변수 설명
x 필수
속성에 액세스하는 구조체입니다.
name 필수
구조체 속성의 이름
default 기본값 = unbounded
구조체에 지정된 이름의 속성이 없는 경우 반환되는 기본값입니다.

Hasattr

bool hasattr(x, name)

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

매개변수

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

해시

int hash(value)

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

매개변수

매개변수 설명
value 필수
해싱할 문자열 값입니다.

int

int int(x, base=unbound)

x를 int 값으로 반환합니다.
  • x가 이미 int인 경우 int는 변경되지 않은 값을 반환합니다.
  • x가 부울이면 int는 참을 1, 거짓을 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이고 접두사가 사용되지 않았고 숫자가 두 개 이상 있으면 선행 숫자는 0이 될 수 없습니다. 8진수와 십진수의 혼동을 피하기 위한 것입니다. 문자열이 나타내는 숫자의 크기는 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 기본값 = unbounded
문자열 값을 해석하는 데 사용되는 밑이며, 기본값은 10입니다. 2에서 36 (포함) 사이여야 합니다. x가 정수 리터럴인 것처럼 염기를 감지하려면 0이어야 합니다. 값이 문자열이 아닌 경우 이 매개변수를 제공해서는 안 됩니다.

len

int len(x)

문자열, 시퀀스 (예: 목록 또는 튜플), dict 또는 다른 반복 가능 항목을 반환합니다.

매개변수

매개변수 설명
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 default = []
변환할 객체입니다.

max

unknown max(*args)

모든 지정된 인수 중 가장 큰 값을 반환합니다. 인수가 하나만 제공되는 경우에는 비어 있지 않은 반복 가능이어야 합니다.요소를 비교할 수 없거나 (예: 문자열이 있는 int) 인수가 제공되지 않으면 오류가 발생합니다.
max(2, 5, 4) == 5
max([5, 6, 3]) == 6

매개변수

매개변수 설명
args 필수
확인할 요소

min

unknown min(*args)

모든 지정된 인수 중 가장 작은 값을 반환합니다. 인수가 하나만 제공되는 경우 비어 있지 않은 반복 가능이어야 합니다. 요소가 비교할 수 없거나 (예: 문자열이 있는 int) 인수가 제공되지 않으면 오류가 발생합니다.
min(2, 5, 4) == 2
min([5, 6, 3]) == 3

매개변수

매개변수 설명
args 필수
확인할 요소

출력하다

None print(sep=" ", *args)

args를 디버그 출력으로 출력합니다. 이 문자열에는 "DEBUG" 문자열과 이 호출의 위치 (파일 및 줄 번호)가 붙습니다. 인수가 문자열로 변환되는 정확한 방법은 지정되지 않으며 언제든지 변경될 수 있습니다. 특히 str()repr()의 서식과 다를 수 있으며 더 자세한 형식일 수도 있습니다.

프로덕션 코드에서 print를 사용하는 것은 사용자를 위해 생성되는 스팸이기 때문에 권장되지 않습니다. 지원 중단의 경우 가능하면 fail()를 사용하여 하드 오류를 처리하는 것이 좋습니다.

매개변수

매개변수 설명
sep default = " "
객체 사이의 구분선 문자열, 기본값은 공백 (" ")입니다.
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 필수
정류장이 제공된 경우 시작 요소의 값입니다. 정류장이 제공된 경우 정류장 값과 실제 시작 값이 0입니다.
stop_or_none int; or None; 기본값 = None
결과 목록에 포함되지 않는 첫 번째 항목의 색인(선택사항). stop에 도달하기 전에 목록 생성이 중지됩니다.
step 기본값 = 1
증분 (기본값은 1)입니다. 음수일 수도 있습니다.

Repr

string repr(x)

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

매개변수

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

reversed

list reversed(sequence)

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

매개변수

매개변수 설명
sequence 필수
되돌릴 수 있는 시퀀스 (예: 목록)입니다.

정렬됨

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

제공된 반복 가능한 시퀀스의 모든 요소가 포함된 새로운 정렬 목록을 반환합니다. 한 쌍의 요소 x, y를 x < y를 사용하여 비교하면 오류가 발생할 수 있습니다. 역방향 인수가 True인 경우 내림차순(오름차순)인 경우 요소가 오름차순으로 정렬됩니다. 안정적인 정렬: 동일한 요소를 비교하는 요소는 원래 상대적 순서를 유지합니다.
sorted([3, 5, 4]) == [3, 4, 5]

매개변수

매개변수 설명
iterable 필수
정렬할 수 있는 반복 가능한 시퀀스입니다.
key default = None
비교 전에 각 요소에 적용되는 선택적 함수입니다.
reverse default = False
결과를 내림차순으로 반환합니다.

문자열

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 default = ()
변환할 객체입니다.

유형

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)

i의 튜플에 각 인수 시퀀스 또는 반복 항목의 i번째 요소가 포함된 tuplelist를 반환합니다. 목록에는 가장 짧은 입력의 크기가 있습니다. 반복 가능한 단일 인수를 사용하여 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 필수
압축 목록.