Seq.int पर क्या प्रतिबंध हैं?


15

seqआदमी पेज में कहा गया है निम्नलिखित (जोर मेरा):

विवरण

नियमित क्रम उत्पन्न करें। seqएक डिफ़ॉल्ट विधि के साथ एक मानक सामान्य है। seq.intएक आदिम है जो बहुत तेज़ हो सकता है लेकिन कुछ प्रतिबंध है

पृष्ठ वास्तव में वर्णन नहीं करता है कि वे प्रतिबंध क्या हैं, हालांकि। यहाँ हर दूसरे का उल्लेख है seq.int:

तर्क

[...]

length.outअनुक्रम की वांछित लंबाई। एक गैर-नकारात्मक संख्या, जिसके लिए seqऔर seq.intआंशिक होने पर गोल किया जाएगा।

[...]

विवरण

[...]

के अनाम तर्कों की व्याख्या seqऔर seq.intमानक नहीं है, और यह हमेशा अनुशंसा की जाती है कि प्रोग्रामिंग करते समय तर्कों का नाम दिया जाए।

[...]

seq.intएक आंतरिक जेनेरिक है जो seqपहले दिए गए तर्क की श्रेणी (तर्क मिलान से पहले) के आधार पर " " के लिए तरीकों पर भेजता है ।

seq.int, seq_alongऔर seq_lenआदिम हैं।

मूल्य

seq.intऔर seqसंख्यात्मक तर्कों के लिए डिफ़ॉल्ट विधि " integer" या " double" के वेक्टर को लौटा देती है : प्रोग्रामर को जिस पर भरोसा नहीं करना चाहिए।

यह बताते हुए कि इसके पहले तर्क के वर्ग के अनुसार seq.intभेजने के अलावा seq, मुझे कोई "प्रतिबंध" नहीं दिखता है।

तो, ये प्रतिबंध क्या हैं?


अच्छी बात है, मैं मदद फ़ाइल में दिए गए सभी उदाहरणों को नाटकीय रूप से तेज छोड़कर, seqसभी के साथ एक ही काम करता हूं seq.int, इसलिए यह स्पष्ट नहीं है कि seqसभी पर क्यों उपयोग करें । Twitter.com/BrodieGaslam/status/1196792003813621761
Moody_Mudskipper

@Moody_Mudskipper ने ठीक यही कारण है कि मैंने पूछा: मैं seq.intआदत से बाहर रहा हूं , लेकिन मैन पेज में उस टिप्पणी को देखा और अब मैं जानना चाहूंगा कि क्या मैं बिना सोचे-समझे इसका उपयोग करने में कोई "जोखिम" ले रहा हूं।
वसाबी

@Moody_Mudskipper और रिकॉर्ड के लिए, "डॉक्स कभी अपडेट नहीं किए गए" एक पूरी तरह से स्वीकार्य और आश्चर्यजनक जवाब होगा।
वसाबी

6
मैं कहता हूँ "seq के लिए (केवल), से दो तक, और इसके द्वारा प्रदान किए जा सकते हैं क्योंकि प्रदान किए गए जटिल मानों के लिए लंबाई .out या साथ में निर्दिष्ट किया गया है। अधिक सामान्यतः, seq का डिफ़ॉल्ट तरीका वर्गीकृत ऑब्जेक्ट्स को हैंडल करेगा। गणित, ऑप्स और सारांश समूह जेनेरिक के लिए तरीके। " एक प्रतिबंध की व्याख्या करता है। आप कर सकते हैं, seq(from = 0 + 1i, to = 10 + 1i, length.out = 11)लेकिन आप ऐसा नहीं कर सकते seq.int
रोलैंड

1
@ रोलैंड - शायद आपको उस टिप्पणी को जवाब के रूप में जोड़ना चाहिए
dww

जवाबों:


5

seqR में लिखा गया एक सामान्य जेनेरिक फंक्शन है। seq.intC में लिखा गया एक आदिम फंक्शन है। जबकि दोनों को एक ही काम करने के लिए लिखा जाता है, अपने प्लेटफॉर्म की क्वर्की करने के कारण उन्हें कभी-कभी कुछ प्रतिबंध लग सकते हैं। निम्नलिखित एक उदाहरण है।

यहां छवि विवरण दर्ज करें

ध्यान दें कि यह पुराने संस्करण से है Rऔर वर्तमान संस्करणों में तय किया गया है। आर के पूरे विकास में इस प्रकार के कीड़े देखे गए हैं और उन्हें जल्द से जल्द पैच किया गया है। के वर्तमान संस्करण seq और seq.int अब लगभग समान लग रहे हो। इसलिए, इस पर कोई और प्रतिबंध नहीं होना चाहिए seq.int


आपके उत्तर के लिए धन्यवाद, क्या आप एक छवि के बजाय कोड (जैसे एक रेप्रेक्स) पोस्ट कर सकते हैं, और रोलांड की टिप्पणी को अपने उत्तर में शामिल कर सकते हैं (यदि वह अपना उत्तर इस बीच पोस्ट नहीं करता है)। मैं आपके उत्तर को संपादित भी कर सकता हूं और यदि यह आपके लिए ठीक है तो स्वयं भी कर सकता हूं।
मूडी_मडस्किपर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.