सभी Bazel फ़ाइलें

समस्या की शिकायत करें

सभी Bazel फ़ाइलों में उपलब्ध तरीके. इनमें .bzl फ़ाइलें, BUILD, MODULE.bazel, और WorkSPACE शामिल हैं.

पैसे चुकाकर बने सदस्य

abs

unknown abs(x)

किसी संख्या की ऐब्सलूट वैल्यू दिखाता है. यह संख्या, उसी आकार वाली नॉन-नेगेटिव संख्या होती है.
abs(-2.3) == 2.3

पैरामीटर

पैरामीटर ब्यौरा
x int; या float; ज़रूरी है
संख्या (int या flow)

सभी

bool all(elements)

अगर सभी एलिमेंट 'सही' पर सेट होते हैं या कलेक्शन खाली होता है, तो यह 'सही' दिखाता है. bool फ़ंक्शन का इस्तेमाल करके, एलिमेंट को बूलियन में बदला जाता है.
all(["hello", 3, True]) == True
all([-1, 0, 1]) == False

पैरामीटर

पैरामीटर ब्यौरा
elements ज़रूरी है
यह एक स्ट्रिंग या एलिमेंट का कलेक्शन होता है.

कोई भी

bool any(elements)

अगर कम से कम एक एलिमेंट सही के तौर पर नतीजा देता है, तो यह 'सही' दिखाता है. 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 ज़रूरी है
अतिरिक्त एंट्री की डिक्शनरी.

दिशा

list dir(x)

स्ट्रिंग की सूची दिखाता है: एट्रिब्यूट के नाम और पैरामीटर ऑब्जेक्ट के तरीके.

पैरामीटर

पैरामीटर ब्यौरा
x ज़रूरी है
वह ऑब्जेक्ट जिसकी जांच करनी है.

गिनती करें

list enumerate(list, start=0)

इंडेक्स (इंट) और इनपुट क्रम से आइटम के साथ जोड़ों (दो-एलिमेंट वाले ट्यूपल) की सूची दिखाता है.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]

पैरामीटर

पैरामीटर ब्यौरा
list ज़रूरी
इनपुट क्रम.
start डिफ़ॉल्ट तौर पर, यह 0
स्टार्ट इंडेक्स होता है.

विफल रहा

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

इससे, प्रोग्राम चलाने में गड़बड़ी होती है.

पैरामीटर

पैरामीटर ब्यौरा
msg डिफ़ॉल्ट पर सेट है None
अब काम नहीं करता: इसकी जगह पोज़िशनल आर्ग्युमेंट इस्तेमाल करें. यह तर्क, एक इंप्लिसिट लीडिंग पोज़िशनल आर्ग्युमेंट की तरह काम करता है.
attr string; या None; डिफ़ॉल्ट रूप से None
काम नहीं करता है. इसकी वजह से, गड़बड़ी के मैसेज में एक वैकल्पिक प्रीफ़िक्स जुड़ जाता है, जिसमें यह स्ट्रिंग शामिल है.
args ज़रूरी है
डीबगप्रिंट (डिफ़ॉल्ट रूप से एसटी के बराबर) के साथ फ़ॉर्मैट की गई और वैल्यू की सूची, गड़बड़ी के मैसेज में दिखती है और स्पेस के साथ जोड़ी जाती है.

float

float float(x=unbound)

x को फ़्लोट वैल्यू के रूप में दिखाता है.
  • अगर x पहले से ही एक फ़्लोट है, तो float इसे बिना किसी बदलाव के दिखाता है.
  • अगर x बूल है, तो float, 'सही है' के लिए 1.0 और 'गलत' के लिए 0.0 दिखाता है.
  • अगर x कोई पूर्णांक है, तो float सबसे नज़दीकी सीमित फ़्लोटिंग-पॉइंट वैल्यू को x पर दिखाता है. हालांकि, नतीजा बहुत बड़ा होने पर गड़बड़ी की जानकारी दिखाता है.
  • अगर x एक स्ट्रिंग है, तो यह मान्य फ़्लोटिंग-पॉइंट लिटरल वैल्यू होनी चाहिए या यह NaN, Inf या Infinity के बराबर (छोटे-बड़े अक्षर को अनदेखा करते हुए) होना चाहिए. साथ ही, यह वैकल्पिक तौर पर + या - चिह्न से पहले होना चाहिए.
किसी दूसरी वैल्यू की वजह से गड़बड़ी हो सकती है. बिना किसी तर्क के float(), 0.0 दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
x डिफ़ॉल्ट वैल्यू unbound है
कन्वर्ट की जाने वाली वैल्यू.

गेटट्री

unknown getattr(x, name, default=unbound)

दिए गए नाम का स्ट्रक्चर फ़ील्ड मौजूद होने पर यह दिखाता है. अगर ऐसा नहीं है, तो यह default (अगर बताया गया है) दिखाता है या गड़बड़ी को दिखाता है. getattr(x, "foobar") और x.foobar के बराबर है.
getattr(ctx.attr, "myattr")
getattr(ctx.attr, "myattr", "mydefault")

पैरामीटर

पैरामीटर ब्यौरा
x ज़रूरी है
वह स्ट्रक्चर जिसका एट्रिब्यूट ऐक्सेस किया जाता है.
name ज़रूरी है
स्ट्रक्ट एट्रिब्यूट का नाम.
default डिफ़ॉल्ट वैल्यू unbound है
अगर स्ट्रक्चर में दिए गए नाम का एट्रिब्यूट मौजूद न हो, तो यह डिफ़ॉल्ट वैल्यू दिखती है.

Hasattr

bool hasattr(x, name)

अगर ऑब्जेक्ट x में, दिए गए name के लिए कोई एट्रिब्यूट या तरीका दिया गया है, तो 'सही' दिखाता है. ऐसा नहीं होने पर 'गलत' दिखाता है. उदाहरण:
hasattr(ctx.attr, "myattr")

पैरामीटर

पैरामीटर ब्यौरा
x ज़रूरी है
वह ऑब्जेक्ट जिसकी जांच करनी है.
name ज़रूरी है
एट्रिब्यूट का नाम.

हैश

int hash(value)

स्ट्रिंग के लिए हैश वैल्यू दें. इसकी गिनती तय समय के लिए उसी एल्गोरिदम का इस्तेमाल करके की जाती है जिसका इस्तेमाल Java के String.hashCode() के लिए किया जाता है. इस एल्गोरिदम का नाम है:
s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
फ़िलहाल, स्ट्रिंग के अलावा वैल्यू को हैश करने की सुविधा काम नहीं करती है.

पैरामीटर

पैरामीटर ब्यौरा
value ज़रूरी
हैश करने के लिए स्ट्रिंग वैल्यू.

int

int int(x, base=unbound)

पूर्णांक मान के रूप में x देता है.
  • अगर x पहले से ही एक पूर्णांक है, तो int इसे बिना किसी बदलाव के दिखाता है.
  • अगर x बूल है, तो int 'सही' के लिए 1 और 'गलत' के लिए 0 दिखाता है.
  • अगर x एक स्ट्रिंग है, तो इसका फ़ॉर्मैट <sign><prefix><digits> होना चाहिए. <sign>, "+" या "-" है या खाली है (इसे पॉज़िटिव के तौर पर दिखाया गया है). <digits>, 0 से base - 1 तक के अंकों का क्रम होता है, जिसमें 10 से 35 तक के अक्षरों a-z (या इसके बराबर, A-Z) का इस्तेमाल अंकों के रूप में किया जाता है. अगर base की वैल्यू 8/2/16 है, तो <prefix> ज़रूरी नहीं है और यह 0b/0o/0x (या इसके बराबर, 0B/0O/0X) हो सकता है. अगर base, इन बेस या खास वैल्यू 0 के अलावा कोई अन्य वैल्यू है, तो प्रीफ़िक्स खाली होना चाहिए. ऐसे मामले में जहां base 0 है, स्ट्रिंग को एक पूर्णांक लिटरल माना जाता है. इसका मतलब यह है कि अगर प्रीफ़िक्स का इस्तेमाल किया गया है, तो 2/8/10/16 के आधार पर किसी एक बेस को चुना जाता है. अगर base 0 है, तो किसी प्रीफ़िक्स का इस्तेमाल नहीं किया गया है और इसमें एक से ज़्यादा अंक हैं. ऐसा होने पर, शुरुआती अंक 0 नहीं हो सकता. ऐसा ऑक्टल और दशमलव के बीच भ्रम की स्थिति से बचने के लिए किया जाता है. स्ट्रिंग से दिखाई गई संख्या का मान, पूर्णांक में इस्तेमाल की जा सकने वाली सीमा के अंदर होना चाहिए.
  • अगर 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(x=[])

दी गई बार-बार दिखाई जा सकने वाली वैल्यू के जैसे एलिमेंट वाली नई सूची दिखाता है.
list([1, 2]) == [1, 2]
list((2, 3, 2)) == [2, 3, 2]
list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]

पैरामीटर

पैरामीटर ब्यौरा
x यह डिफ़ॉल्ट तौर पर [] पर सेट होता है
जिस ऑब्जेक्ट को बदलना है उसे बदला जा सकता है.

ज़्यादा से ज़्यादा

unknown max(*args)

दिए गए सभी तर्कों में से सबसे बड़ा तर्क लौटाता है. अगर सिर्फ़ एक तर्क दिया गया हो, तो ऐसा होना चाहिए कि एलिमेंट खाली न हो.इसलिए, अगर एलिमेंट की तुलना नहीं की जा सकती (उदाहरण के लिए, स्ट्रिंग के साथ पूर्णांक न होना) या कोई तर्क न दिए जाने पर यह गड़बड़ी होती है.
max(2, 5, 4) == 5
max([5, 6, 3]) == 6

पैरामीटर

पैरामीटर ब्यौरा
args ज़रूरी है
वे एलिमेंट जिनकी जांच करनी है.

न्यून

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 डिफ़ॉल्ट तौर पर यह " " पर सेट होता है
ऑब्जेक्ट के बीच की सेपरेटर स्ट्रिंग, डिफ़ॉल्ट तौर पर स्पेस (" ") होती है.
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; या None; डिफ़ॉल्ट रूप से, None
उस पहले आइटम का इंडेक्स वैकल्पिक होता है जिसे नतीजे वाली सूची में शामिल नहीं किया जाता है; stop आने से पहले सूची का जनरेट होना रुक जाता है.
step डिफ़ॉल्ट तौर पर यह 1 पर सेट होता है
बढ़ोतरी (डिफ़ॉल्ट तौर पर 1) होती है. यह नकारात्मक हो सकता है.

रीपीआर

string repr(x)

किसी भी ऑब्जेक्ट को स्ट्रिंग प्रज़ेंटेशन में बदल देता है. यह डीबग करने के लिए काम का है.
repr("ab") == '"ab"'

पैरामीटर

पैरामीटर ब्यौरा
x ज़रूरी है
जिस ऑब्जेक्ट को बदला जाना है.

उलटा

list reversed(sequence)

नई, फ़्रीज़ नहीं की गई सूची देता है, जिसमें मूल बार-बार बदलाव किए जा सकने वाले क्रम के एलिमेंट उलटे क्रम में होते हैं.
reversed([3, 5, 4]) == [4, 5, 3]

पैरामीटर

पैरामीटर ब्यौरा
sequence ज़रूरी है
बार-बार किए जा सकने वाले क्रम (जैसे कि सूची) को उलटा जाना है.

क्रम से लगाया गया

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

दिए गए बार-बार इस्तेमाल किए जा सकने वाले क्रम के सभी एलिमेंट वाली नई सूची दिखाता है. अगर x और y के किसी भी जोड़े की तुलना x < y का इस्तेमाल करके नहीं की गई है, तो गड़बड़ी हो सकती है. एलिमेंट को बढ़ते क्रम में लगाया जाता है, जब तक कि रिवर्स आर्ग्युमेंट 'सही' न हो. ऐसे मामलों में, क्रम घटते क्रम में होता है. क्रम से लगाने का तरीका स्थिर होता है: बराबर तुलना करने वाले एलिमेंट अपने मूल क्रम में बने रहते हैं.
sorted([3, 5, 4]) == [3, 4, 5]

पैरामीटर

पैरामीटर ब्यौरा
iterable ज़रूरी है
क्रम से लगाया जा सकने वाला क्रम.
key None डिफ़ॉल्ट पर सेट है
तुलना से पहले, हर एलिमेंट के लिए एक वैकल्पिक फ़ंक्शन लागू किया जाता है.
reverse यह डिफ़ॉल्ट रूप से 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 यह डिफ़ॉल्ट तौर पर () पर सेट होता है
जिस ऑब्जेक्ट को बदलना है उसे बदला जा सकता है.

टाइप करें

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-th एलिमेंट शामिल होता है. सूची में सबसे छोटे इनपुट का साइज़ होता है. एक बार दोहराए जा सकने वाले तर्क के साथ, यह 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 ज़िप करने के लिए,
सूचियाँ ज़रूरी हैं.