Starstark की सभी फ़ाइलें

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

इस पेज में सभी स्टारलाक फ़ाइलों के लिए उपलब्ध तरीके मौजूद हैं. इनमें BUILD, WORKSPACE, MODULE.bazel, और सभी .bzl फ़ाइलें शामिल हैं.

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

सभी

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(x=False)

बूल प्रकार के लिए कंस्ट्रक्टर. अगर ऑब्जेक्ट None, False या कोई खाली स्ट्रिंग (""), संख्या 0 या कोई खाली कलेक्शन (उदाहरण के लिए, (), []) है, तो यह False दिखाता है. नहीं तो, True दिखाता है.

पैरामीटर

पैरामीटर जानकारी
x डिफ़ॉल्ट = गलत
कन्वर्ट किया जाने वाला वैरिएबल.

लिखवाना

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

वैकल्पिक आर्ग्युमेंट के आर्ग्युमेंट और कीवर्ड आर्ग्युमेंट के एक अन्य सेट से डिक्शनरी बनाता है. अगर एक ही कुंजी कई बार दी गई हो, तो आखिरी मान का इस्तेमाल किया जाएगा. माना जाता है कि कीवर्ड के तर्कों से मिली एंट्री, पोज़िशनल आर्ग्युमेंट से मिली एंट्री के बाद आती हैं.

पैरामीटर

पैरामीटर जानकारी
pairs डिफ़ॉल्ट = [
] एक लिखवाने वाला या बार-बार इस्तेमाल होने वाला ऐसा एलिमेंट जिसकी लंबाई 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
इंडेक्स शुरू करें.

विफल

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

इससे एक्ज़ीक्यूशन में गड़बड़ी होती है.

पैरामीटर

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

फ़्लोट

float float(x=unbound)

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

पैरामीटर

पैरामीटर जानकारी
x डिफ़ॉल्ट = अनबाउंड
कन्वर्ज़न वैल्यू.

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

Hasattr

bool hasattr(x, name)

अगर ऑब्जेक्ट x में दिए गए name का कोई एट्रिब्यूट या तरीका है, तो 'सही' दिखाता है. ऐसा न होने पर 'गलत' दिखाता है. उदाहरण:
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 लौटाता है.
  • अगर x पहले से एक पूर्णांक है, तो int इसे नहीं बदलता है.
  • अगर x एक बूल है, तो int, 'सही' के लिए 0 और 'गलत' के लिए 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 इन आधारों के अलावा कोई दूसरी वैल्यू है, तो प्रीफ़िक्स खाली होना चाहिए. base के लिए शून्य के मामले में, स्ट्रिंग को एक पूर्णांक लिटरल माना जाता है. इसका मतलब है कि अगर किसी प्रीफ़िक्स का इस्तेमाल होता है, तो 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 डिफ़ॉल्ट = अनबाउंड
किसी स्ट्रिंग की वैल्यू को समझने के लिए इस्तेमाल किया जाने वाला बेस, डिफ़ॉल्ट रूप से 10 होता है. यह 2 से 36 के बीच होना चाहिए या आधार की पहचान करने के लिए 0 होना चाहिए. उदाहरण के लिए, x एक पूर्णांक है. अगर वैल्यू कोई स्ट्रिंग नहीं है, तो यह पैरामीटर नहीं दिया जाना चाहिए.

लेन

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)

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

पैरामीटर

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

मि

unknown min(*args)

दिए गए सभी तर्कों में से सबसे छोटा तर्क लौटाता है. अगर सिर्फ़ एक आर्ग्युमेंट दिया गया हो, तो उसे खाली नहीं छोड़ा जा सकता. अगर एलिमेंट की तुलना नहीं की जा सकती (जैसे, स्ट्रिंग के साथ in) या कोई आर्ग्युमेंट नहीं दिए गए हों, तो यह एक गड़बड़ी होती है.
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; or 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 डिफ़ॉल्ट = कोई नहीं
तुलना से पहले हर एलिमेंट पर एक वैकल्पिक फ़ंक्शन लागू किया गया है.
reverse डिफ़ॉल्ट = गलत
घटते क्रम में नतीजे दिखाएं.

एसटीआर

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 ज़रूरी है
ऑब्जेक्ट का टाइप जांचने के लिए ऑब्जेक्ट.

zip

list zip(*args)

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