क्या कोई लाइन फ़ंक्शन कॉल है जो प्रोग्राम छोड़ती है और एक संदेश प्रदर्शित करती है? मैं जानता हूँ कि पर्ल में यह रूप में सरल है:बाहर निकलने का संदेश कैसे बनाएं
die("Message goes here")
मैं इस टाइप के थक गया हूँ:
puts "Message goes here"
exit
क्या कोई लाइन फ़ंक्शन कॉल है जो प्रोग्राम छोड़ती है और एक संदेश प्रदर्शित करती है? मैं जानता हूँ कि पर्ल में यह रूप में सरल है:बाहर निकलने का संदेश कैसे बनाएं
die("Message goes here")
मैं इस टाइप के थक गया हूँ:
puts "Message goes here"
exit
abort
फ़ंक्शन यह करता है।
abort("Message goes here")
नोट: उदाहरण के लिए: abort
संदेश STDERR
को लिखा जाएगा के रूप में करने का विरोध किया puts
STDOUT
को लिखेंगे जो।
वाह! अच्छा लगता है! बहुत बुरा उन्होंने इस कार्यक्षमता के साथ बाहर निकलने के लिए अधिभार नहीं किया .... –
नोट, प्रोग्राम को झूठ की स्थिति से बाहर निकलता है जो विफलता का प्रतिनिधित्व करता है। वास्तविक प्रतिनिधित्व सफलता की स्थिति के साथ डिफ़ॉल्ट निकास से बाहर निकलें। सुनिश्चित करें कि आप स्थिति के लिए सही का उपयोग करें। –
फिर से। माइक स्टोन की टिप्पणी, कभी-कभी ऐसा लगता है कि रूबी उन लोगों की एक टीम द्वारा लिखी गई थी, जिनके साथ एक दूसरे के साथ कोई संचार नहीं था, है ना? (फिर भी, इसमें प्रोग्राम करना इतना आसान है।) – JellicleCat
मैं इस तरह के एक समारोह कभी नहीं सुना है, लेकिन यह पर्याप्त तुच्छ लागू करने के लिए किया जाएगा। ..
def die(msg)
puts msg
exit
end
तो फिर, अगर यह कुछ .rb फ़ाइल है कि आप अपने सभी लिपियों में शामिल में परिभाषित किया गया है, तो आप सुनहरा कर रहे हैं .... सिर्फ इसलिए कि इसे बनाया में मतलब यह नहीं है कि आप ऐसा नहीं कर सकते नहीं कर रहा है यह स्वयं ;-)
'abort' फ़ंक्शन को चालू करता है (नीचे मेरा उत्तर देखें) –
जब abort फ़ंक्शन आपके लिए करता है तो कोड क्यों लिखें? –
@ChrisBunch यह ** ** ** निरस्त कार्य के समान नहीं है: 'निकास' डिफ़ॉल्ट रूप से लौटने के लिए डिफ़ॉल्ट रूप से लौट रहा है। 'abort' एक विफलता देता है। 'बाहर निकलें 1' भी विफलता लौटाएगा। – TemporalWolf
आप अपने कोड में एक वास्तविक त्रुटि निरूपित करने के लिए चाहते हैं, आप एक RuntimeError
अपवाद बढ़ा सकता है:
raise RuntimeError, 'Message goes here'
यह एक स्टैकट्रेस प्रिंट होगा, अपवाद के प्रकार उठाया और संदेश है कि आप प्रदान की जा रही। आपके उपयोगकर्ताओं के आधार पर, एक स्टैकट्रैक बहुत डरावना हो सकता है, और शोर में वास्तविक संदेश खो सकता है। दूसरी तरफ, यदि आप वास्तविक त्रुटि के कारण मर जाते हैं, तो एक स्टैकट्रैक आपको डिबगिंग के लिए अतिरिक्त जानकारी देगा।
आपको एक को बढ़ाने के लिए RuntimeError का उल्लेख करने की आवश्यकता नहीं है (यह डिफ़ॉल्ट प्रकार का अपवाद उठाया गया है) इसलिए निम्न कोड पर्याप्त होगा: 'संदेश यहां जाता है' – sunaku
सनकु - जबकि आपकी टिप्पणी पूरी तरह मान्य है, मुझे अक्सर पता चला कि अधिक स्पष्ट होने के कारण, विशेष रूप से अन्य लोगों के लिए कोड कोड पढ़ने के लिए उपयोगी हो सकता है। – shevy
मैं प्रोग्राम समाप्त होने पर कुछ कोड निष्पादित करने का एक तरीका खोज रहा हूं।
Found this:
Kernel.at_exit { puts "sayonara" }
# do whatever
# [...]
# call #exit or #abort or just let the program end
# calling #exit! will skip the call
कहा जाता है कई बार कई संचालकों रजिस्टर करेंगे।
एक छोटी सी टिप्पणी, आपका 'रखता है' stdout को लिखता है, जबकि 'die' stderr को लिखता है, इसलिए:' $ stderr.puts "संदेश यहां जाता है" '। – cdarke
मुझे पता है कि यह कोई जवाब नहीं था, लेकिन उसने मेरे प्रश्न का उत्तर दिया, धन्यवाद – Patrick
बस संदर्भ के लिए, पायथन में यह 'sys.exit (" संदेश stderr पर जाता है ")'। –