2012-07-08 12 views
7

मैं सप्टक संस्करण 3.4.3 का उपयोग कर रहा है, और मैं इस चेतावनी मिलती है:को दबाने के लिए कैसे जीएनयू में चेतावनी सप्टक

warning: fmincg.m: 
possible Matlab-style short-circut operator at line 104, column 20 

मुझे पता है क्यों यह चेतावनी होती है, तो मैं सिर्फ चेतावनी दिखाई नहीं बनाना चाहते चलने पर स्क्रीन पर।

मैं जानता हूँ कि मैं अपने सप्तक कार्यक्रम के शीर्ष पर इस आदेश को रख कर सभी चेतावनियों को दबाने कर सकते हैं:

warning('off','all'); 

लेकिन वह सभी चेतावनियों जो बुरा रूप है अक्षम करता है। केवल यह कैसे अक्षम करें? चेतावनी प्रकार से

उत्तर

9

अक्षम चेतावनी जीएनयू सप्टक में:

यहाँ चेतावनी और उनकी चेतावनी नामों की सूची देखें अनुभाग में: '12 .2.2 सक्षम करने और अक्षम करना चेतावनी '। http://www.gnu.org/software/octave/doc/interpreter/Enabling-and-Disabling-Warnings.html

रखें चेतावनी से पहले अपने सप्तक कार्यक्रम में इस आदेश का होता है:

warning('off', 'Octave:possible-matlab-short-circuit-operator'); 

चेतावनी आईडी के इस आदेश

के बाद आप सप्तक कंसोल में कर रहे हैं, का उपयोग करें के बारे में अधिक जानकारी प्राप्त करें ऑक्टेव आपको चेतावनी आईडी के बारे में बताता है।

help warning_ids 

कुछ चेतावनी प्रक्रिया समाप्त, और दबाया नहीं जा सकता, वे उपचार किया जाना चाहिए:

तरह

इस एक:

warning: function /home/el/octave/multicore-0.2.15/gethostname.m 
     shadows a built-in function 

इसे ठीक करने के नाम बदलने/घर/el/octave/multicore-0.2.15/gethostname.m से /home/el/octave/multicore-0.2.15/gethostname_backup.m। और चेतावनी दूर हो जाती है। यह सॉफ़्टवेयर में एक बग है जहां दो फाइलों का एक ही नाम है, इसलिए प्रोग्राम नहीं जानता कि किस का उपयोग करना है।

+2

यह साथ है कि पिछले चेतावनी निष्क्रिय करने के लिए संभव है: id अब चेतावनी का आईडी है, जो इसे बंद करने के लिए इस्तेमाल किया जा सकता है । फ़ाइल नाम बदलने की जरूरत नहीं है। सॉफ़्टवेयर को पता है कि कौन सी फ़ाइल का उपयोग करना है; पहली फ़ाइल जो इसे 'पथ' में पाती है। यह कोई चालबाजी नहीं है, यह सिर्फ ओवरलोडिंग कार्यों है। –

+0

चेतावनी अब http://www.gnu.org/software/octave/doc/interpreter/Enabling-and- अक्षम करने- Warnings.html पर सूचीबद्ध नहीं है, आखिरी चेतावनी जानने के लिए उपयोगी है (नीचे @ एससीजे उत्तर देखें) – seanv507

3

अपने परिवर्तनों को दो आसान चरणों में लगातार बनाओ:

  1. बन जड़
  2. फ़ाइल (/ usr/share/सप्तक/साइट/एम/स्टार्टअप/octaverc) है, जो निष्पादित करेंगे करने के लिए संलग्न आदेश स्टार्टअप पर कोई ऑक्टेव आदेश।

    echo "warning('off','Octave:shadowed-function')" >> /usr/share/octave/site/m/startup/octaverc

मैं भी autoload सभी संकुल persitantly चाहते:

echo "pkg load all" >> /usr/share/octave/site/m/startup/octaverc 

नोट: इस आदेश, नहीं तो किसी भी छाया-समारोह चेतावनी आप सभी संकुल अभी भी दिखाई देगी लोड करने से मिलता है का पालन करें।

अपनी फ़ाइल अब Gunther Struyf को

warning('off','Octave:shadowed-function') 
pkg load all 

धन्यवाद शामिल करना चाहिए, हमें बता कैसे छाया समारोह चेतावनियों को बंद करने के लिए (ऊपर) के लिए। संदर्भ: https://wiki.archlinux.org/index.php/Octave

+2

मुझे लगता है कि आप रूट बनने की आवश्यकता नहीं है, अगर आप केवल '~/.octaverc' में कमांड डालते हैं। – Scz

+0

@ एससीजेड आप सही हैं। नोट के लिए धन्यवाद। सिस्टम-व्यापी परिवर्तन करने के लिए, उपरोक्त/usr पथ का उपयोग करें। केवल अपनी उपयोगकर्ता प्रोफ़ाइल के लिए परिवर्तन करने के लिए, ~/.octaverc –

4

अपने चेतावनी के आईडी का पता लगाने के लिए, बस सीधे के बाद चेतावनी होता जारी

[text, id] = lastwarn() 

। `चेतावनी ('बंद', 'सप्टक: छाया-समारोह')`

warning('off', id) 
+0

संपादित करें इस फ़ंक्शन के लिए दस्तावेज़: https://octave.sourceforge.io/octave/function/lastwarn.html – waldyrious

संबंधित मुद्दे