दिलचस्प पोस्ट
कन्वर्ट एचएच: एमएम: एसएस स्ट्रिंग सेकंड में केवल जावास्क्रिप्ट में Google मानचित्र – मीटर में दो बिंदुओं के बीच की दूरी कैसे प्राप्त करें? किसी फ़ाइल का मेटाडेटा प्राप्त करें क्यों memcpy () और memmove () सूचक सूचकांक की तुलना में तेज़ है? एक <br /> टैग के साथ एक से अधिक <br /> टैगों को फिर से बदलने के लिए कैसे करें? बैकस्लैश को पायथन के साथ कैसे मुद्रित करें? किसी भी तरह से मुख्य डेटा को पॉप्युलेट करने के लिए? आप डीजेन्गो साइटों पर सर्वर त्रुटियों को कैसे लॉग करते हैं? JSON के लिए कोई क्वेरी भाषा है? मल्टीटास्क पैनल से एप्लिकेशन को हटाने पर अधिसूचना रद्द करें जावास्क्रिप्ट सेकंड से प्रारूप के साथ समय स्ट्रिंग hh: mm: ss आवेदनविशेषतया बनाम बनाम एप्लिकेशनडिडबैकअक्टिव, एप्लिकेशनवालेरेसाइनएक्टिव बनाम एप्लिकेशनडेडएन्टरबैकग्राउंड कैसे बैश में एक्सएमएल को पार्स करना है? आवेदन / एक्स-www-फ़ॉर्म-यूआरएलएक्सोड या मल्टीपार्ट / फॉर्म-डेटा? टैबलायआउट के साथ एक टुकड़ा में कार्डविएव पंक्तियों के साथ रीसाइक्लेअर दृश्य को कैसे लागू किया जाए

त्रुटि: अप्रत्याशित प्रतीक / इनपुट / स्ट्रिंग स्थिर / संख्यात्मक निरंतर / मेरे कोड में विशेष

मुझे इनमें से एक त्रुटि मिली है

Error: unexpected symbol in "<my code>" Error: unexpected input in "<my code>" Error: unexpected string constant in "<my code>" Error: unexpected numeric constant in "<my code>" Error: unexpected SPECIAL in "<my code>" Error: unexpected '<some punctuation>' in "<my code>" Error: unexpected '<reserved word>' in "<my code>" 

त्रुटि का क्या मतलब है, और मैं इसे कैसे ठीक कर सकता हूं?

कुछ सरल उदाहरण जो त्रुटियों और सामान्य रूपों को पुन: उत्पन्न करते हैं:

 aa ## Error: unexpected symbol in "aa" a\ ## Error: unexpected input in "a\" a"" ## Error: unexpected string constant in "a""" ""1 ## Error: unexpected numeric constant in """1" %% ## Error: unexpected SPECIAL in "%%" , ## Error: unexpected ',' in "," = ## Error: unexpected '=' in "=" ) ## Error: unexpected ')' in ")" else ## Error: unexpected 'else' in "else" 

वेब के समाधान से एकत्रित समाधान "त्रुटि: अप्रत्याशित प्रतीक / इनपुट / स्ट्रिंग स्थिर / संख्यात्मक निरंतर / मेरे कोड में विशेष"

इन त्रुटियों का मतलब है कि आर कोड जिसे आप चलाने या स्रोत की कोशिश कर रहे हैं, वाक्यविन्यास सही नहीं है। यही है, आपके पास एक टाइपो है

समस्या को ठीक करने के लिए, त्रुटि संदेश को सावधानीपूर्वक पढ़ें। त्रुटि संदेश में दिये गये कोड से पता चलता है कि आर क्या सोचता है कि समस्या है अपने मूल कोड में उस रेखा को ढूंढें, और टाइपो की खोज करें


आप फिर से त्रुटि प्राप्त करने से रोकने के लिए रोगप्रतिबंधक उपाय

वाक्यविन्यास त्रुटियों से बचने का सबसे अच्छा तरीका स्टाइलिश कोड लिखना है। इस तरह, जब आप चीजों को गलत तरीके से लिखते हैं, समस्या को स्थानापन्न करना आसान होगा। एस आर आर टैग जानकारी पृष्ठ से जुड़े कई आर शैली गाइड हैं आप अपना कोड स्वचालित रूप से और अधिक पठनीय बनाने के लिए formatR पैकेज का उपयोग कर सकते हैं। RStudio में, कीबोर्ड शॉर्टकट CTRL + SHIFT + A आपके कोड को पुन: स्वरूपित करेगा।

IDE या टेक्स्ट एडिटर का उपयोग करने पर विचार करें जो मिलान किए गए कोष्ठक और ब्रेसिज़ को हाइलाइट करता है, और अलग-अलग रंगों में तार और नंबर दिखाता है।


इन त्रुटियों को उत्पन्न करने वाले सामान्य वाक्यविन्यास गलतियाँ

बेमेल कोष्ठक, ब्रेसिज़ या कोष्ठक

यदि आपके पास नेस्टेड कोष्ठक, ब्रेसिज़ या कोष्ठक हैं तो उन्हें बहुत अधिक या बहुत कम बार बंद करना आसान है

 {}} ## Error: unexpected '}' in "{}}" {{}} # OK 

गुणा करना * गुम होने पर

यह गणितज्ञों द्वारा एक आम गलती है

 5x Error: unexpected symbol in "5x" 5*x # OK 

कोष्ठकों में मानों, के लिए, या मानों को लपेटने से नहीं

यह MATLAB उपयोगकर्ताओं द्वारा एक आम गलती है आर में, if , के for , return , आदि, कार्य हैं, इसलिए आपको कोष्ठकों में उनकी सामग्री को लपेटने की आवश्यकता है।

 if x > 0 {} ## Error: unexpected symbol in "if x" if(x > 0) {} # OK 

कोड के लिए एकाधिक पंक्तियों का उपयोग नहीं करना

एक पंक्ति में एकाधिक अभिव्यक्ति लिखने की कोशिश करते हुए, उन्हें अर्धविराम द्वारा अलग किए बिना, आर विफल हो जाता है, साथ ही साथ अपना कोड पढ़ने में कठोर हो जाता है

 x + 2 y * 3 ## Error: unexpected symbol in "x + 2 y" x + 2; y * 3 # OK 

else एक नई लाइन पर शुरू

If- else स्टेटमेंट में, कीवर्ड को एक ही पंक्ति पर if ब्लॉक के अंत के रूप में दिखाई देना चाहिए।

 if(TRUE) 1 else 2 ## Error: unexpected 'else' in "else" if(TRUE) 1 else 2 # OK if(TRUE) { 1 } else # also OK { 2 } 

= बजाय ==

= असाइनमेंट के लिए उपयोग किया जाता है और तर्कों को फ़ंक्शन करने के लिए मान देता है। == समानता के लिए दो मूल्यों का परीक्षण करता है

 if(x = 0) {} ## Error: unexpected '=' in "if(x =" if(x == 0) {} # OK 

तर्कों के बीच अल्पविराम गुमनाम

फ़ंक्शन बुलाते समय, प्रत्येक तर्क को अल्पविराम से अलग किया जाना चाहिए।

 c(1 2) ## Error: unexpected numeric constant in "c(1 2" c(1, 2) # OK 

फ़ाइल रास्तों का उद्धरण नहीं

फ़ाइल पथ बस तार हैं उन्हें डबल या एकल उद्धरणों में लपेटा जाना चाहिए।

 path.expand(~) ## Error: unexpected ')' in "path.expand(~)" path.expand("~") # OK 

तारों के अंदर का उद्धरण

यह एक सामान्य समस्या है जब system जरिए शेल में उद्धृत मूल्यों को xPath करने की कोशिश कर रहा system , या उद्धृत xPath या sql क्वेरीज़ बना रहा है

डबल उद्धृत स्ट्रिंग के अंदर डबल कोट्स को बचने की आवश्यकता है। इसी तरह, एकल उद्धृत स्ट्रिंग के अंदर एकल उद्धरणों को बचने की आवश्यकता है। वैकल्पिक रूप से, आप बच निकलने के बिना एक उद्धृत स्ट्रिंग के अंदर सिंगल कोट्स का उपयोग कर सकते हैं, और इसके विपरीत।

 "x"y" ## Error: unexpected symbol in ""x"y" "x\"y" # OK 'x"y' # OK 

घुंघराले उद्धरण का उपयोग करना

तथाकथित "स्मार्ट" उद्धरण आर प्रोग्रामिंग के लिए इतना स्मार्ट नहीं हैं

 path.expand(“~”) ## Error: unexpected input in "path.expand(“" path.expand("~") # OK 

बैकक्वोट्स के बिना गैर-मानक चर नाम का उपयोग करना

?make.names बताता है कि एक मान्य वैरिएबल नाम क्या है यदि आप एक गैर-मान्य चर नाम ( assign करके, शायद) बनाते हैं, तो आपको इसे बैकक्वोट्स के साथ एक्सेस करने की आवश्यकता है,

 assign("xy", 0) xy ## Error: unexpected symbol in "xy" `xy` # OK 

यह check.names = FALSE के साथ बनाए गए डेटा फ्रेम्स में कॉलम नामों पर भी लागू होता है

 dfr <- data.frame("xy" = 1:5, check.names = FALSE) dfr$xy ## Error: unexpected symbol in "dfr$xy" dfr[,"xy"] # OK dfr$`xy` # also OK 

कार्य करने के लिए ऑपरेटरों और अन्य विशेष मूल्यों को पारित करते समय यह भी लागू होता है उदाहरण के लिए, %in% मदद की जा रही है

 ?%in% ## Error: unexpected SPECIAL in "?%in%" ?`%in%` # OK 

सोर्सिंग गैर-आर कोड

source फ़ंक्शन किसी फ़ाइल से आर कोड चलाता है। यदि आप इसे अपने डेटा में पढ़ने के लिए उपयोग करने का प्रयास करते हैं तो यह टूट जाएगा शायद आप read.table चाहते हैं

 source(textConnection("xy")) ## Error in source(textConnection("xy")) : ## textConnection("xy"):1:3: unexpected symbol ## 1: xy ## ^ 

भ्रष्ट RStudio डेस्कटॉप फ़ाइल

RStudio उपयोगकर्ताओं ने एक दूषित। .rstudio-desktop फ़ाइल के कारण गलत स्रोत त्रुटियों की सूचना दी है । ये रिपोर्ट केवल मार्च 2014 के दौरान हुईं, इसलिए संभवत: आईडीई के एक विशिष्ट संस्करण के साथ एक समस्या है RStudio समर्थन पृष्ठ पर दिए गए निर्देशों का उपयोग करके रीसेट किया जा सकता है


गणितीय साजिश एनोटेशन में चिपकाए बिना अभिव्यक्ति का प्रयोग करना

भूखंडों में गणितीय लेबल या खिताब बनाने की कोशिश करते समय, निर्मित अभिव्यक्ति एक कथानक रूप से मान्य गणितीय अभिव्यक्ति होना चाहिए जैसा कि ?plotmath पृष्ठ पर वर्णित है। अन्यथा सामग्री को कॉल के पेस्ट में समाहित किया जाना चाहिए।

 plot(rnorm(10), ylab = expression(alpha ^ *))) ## Error: unexpected '*' in "plot(rnorm(10), ylab = expression(alpha ^ *" plot(rnorm(10), ylab = expression(paste(alpha ^ phantom(0), "*"))) # OK