सभी Bazel फ़ाइलें

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

सदस्य

एबीएस

unknown abs(x)

किसी संख्या की ऐब्सलूट वैल्यू दिखाता है. यह ऐसी संख्या होती है जो शून्य से कम नहीं होती और जिसका मैग्नीट्यूड मूल संख्या के बराबर होता है.
abs(-2.3) == 2.3

पैरामीटर

पैरामीटर ब्यौरा
x int; या float; required
एक संख्या (int या फ़्लोट)

सभी

bool all(elements)

अगर सभी एलिमेंट की वैल्यू True है या कलेक्शन खाली है, तो यह फ़ंक्शन True दिखाता है. 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(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)

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

पैरामीटर

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

नहीं भेजा जा सका

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

इस वजह से, गड़बड़ी होने पर स्क्रिप्ट नहीं चल पाती.

पैरामीटर

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

फ़्लोट

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
है यह वह वैल्यू है जिसे बदलना है.

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 डिफ़ॉल्ट वैल्यू unbound
है अगर स्ट्रक्चर में दिए गए नाम का कोई एट्रिब्यूट नहीं है, तो डिफ़ॉल्ट वैल्यू दिखाई जाएगी.

hasattr

bool hasattr(x, name)

अगर ऑब्जेक्ट x में, दिए गए name का एट्रिब्यूट या तरीका मौजूद है, तो यह फ़ंक्शन True दिखाता है. अगर ऐसा नहीं है, तो False दिखाता है. उदाहरण:
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 तक के अंकों का क्रम है. इसमें 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 नहीं हो सकता. ऐसा इसलिए किया जाता है, ताकि ऑक्टल और डेसिमल के बीच भ्रम न हो. स्ट्रिंग से दिखाई गई संख्या की वैल्यू, 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 (दोनों शामिल) के बीच होना चाहिए. इसके अलावा, अगर x को पूर्णांक लिटरल के तौर पर पता लगाना है, तो यह 0 होना चाहिए. अगर वैल्यू स्ट्रिंग नहीं है, तो यह पैरामीटर नहीं दिया जाना चाहिए.

len

int len(x)

यह फ़ंक्शन, किसी स्ट्रिंग, क्रम (जैसे कि सूची या टपल), शब्दकोश या अन्य इटरेट किए जा सकने वाले ऑब्जेक्ट की लंबाई दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
x ज़रूरी है
वह वैल्यू जिसकी लंबाई की रिपोर्ट बनानी है.

सूची

list list(x=[])

यह फ़ंक्शन, दी गई iterable वैल्यू के एलिमेंट वाली नई सूची दिखाता है.
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(key=None, *args)

दिए गए सभी तर्कों में से सबसे बड़ी वैल्यू दिखाता है. अगर सिर्फ़ एक पोज़िशनल आर्ग्युमेंट दिया जाता है, तो यह एक ऐसा इटरेटबल होना चाहिए जिसमें कोई वैल्यू मौजूद हो.अगर एलिमेंट की तुलना नहीं की जा सकती (उदाहरण के लिए, 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 ज़रूरी है
वे एलिमेंट जिनकी जांच करनी है.

कम से कम

unknown min(key=None, *args)

दिए गए सभी तर्कों में से सबसे छोटा तर्क दिखाता है. अगर सिर्फ़ एक पोज़ीशनल आर्ग्युमेंट दिया गया है, तो यह एक ऐसा इटरेबल होना चाहिए जो खाली न हो. अगर एलिमेंट की तुलना नहीं की जा सकती (उदाहरण के लिए, पूर्णांक की तुलना स्ट्रिंग से करना) या कोई आर्ग्युमेंट नहीं दिया गया है, तो यह एक गड़बड़ी है.
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 ज़रूरी है
वे एलिमेंट जिनकी जांच करनी है.

प्रिंट करें

None print(sep=" ", *args)

यह args को डीबग आउटपुट के तौर पर प्रिंट करता है. इसके पहले "DEBUG" स्ट्रिंग और इस कॉल की जगह (फ़ाइल और लाइन नंबर) का प्रीफ़िक्स होगा. आर्ग्युमेंट को स्ट्रिंग में बदलने का सटीक तरीका नहीं बताया गया है. साथ ही, इसे किसी भी समय बदला जा सकता है. खास तौर पर, यह str() और repr() के फ़ॉर्मैटिंग से अलग हो सकता है. साथ ही, इसमें ज़्यादा जानकारी भी हो सकती है.

प्रोडक्शन कोड में print का इस्तेमाल करने से बचने का सुझाव दिया जाता है, क्योंकि इससे लोगों के लिए स्पैम जनरेट होता है. बंद की जा रही सुविधाओं के लिए, जब भी हो सके fail() का इस्तेमाल करके, हार्ड एरर दिखाएं.

पैरामीटर

पैरामीटर ब्यौरा
sep डिफ़ॉल्ट रूप से " "
होता है ऑब्जेक्ट के बीच सेपरेटर स्ट्रिंग. डिफ़ॉल्ट रूप से स्पेस (" ") होता है.
args ज़रूरी है
प्रिंट किए जाने वाले ऑब्जेक्ट.

सीमा

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

यह एक ऐसी सूची बनाता है जिसमें आइटम start से stop तक जाते हैं. इसमें step इंक्रीमेंट का इस्तेमाल किया जाता है. अगर एक ही आर्ग्युमेंट दिया जाता है, तो आइटम की संख्या 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 होता है). यह नेगेटिव हो सकता है.

repr

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 के किसी भी पेयर की तुलना नहीं की जा सकती, तो गड़बड़ी हो सकती है. एलिमेंट को बढ़ते क्रम में लगाया जाता है. हालांकि, अगर 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 डिफ़ॉल्ट रूप से False
होता है नतीजों को घटते क्रम में दिखाता है.

स्ट्रेमा

string str(x)

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

पैरामीटर

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

टपल

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 required
वह ऑब्जेक्ट जिसका टाइप जांचना है.

zip

list zip(*args)

यह फ़ंक्शन, list के list दिखाता है. इसमें i-th टपल में, आर्ग्युमेंट के तौर पर दिए गए हर सीक्वेंस या इटरेबल का i-th एलिमेंट होता है.tuple इस सूची का साइज़, सबसे छोटे इनपुट के बराबर होता है. एक ही बार दोहराए जा सकने वाले आर्ग्युमेंट के साथ, यह 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 required
lists to zip.