की एकाधिक पंक्तियों पर डेटा को अपडेट करने के लिए मैं कंसोल की दो पंक्तियों पर डेटा प्रदर्शित करना चाहता हूं। मैं बस हर बार दो लाइनों को अद्यतन करना चाहता हूं।कंसोल
क्या मैं अब तक किया है -
var _logInline = function(alpha, bravo) {
process.stdout.cursorTo(0, 0);
process.stdout.clearLine();
process.stdout.cursorTo(0);
process.stdout.write(alpha.toString());
process.stdout.write('\n');
process.stdout.clearLine();
process.stdout.cursorTo(0);
process.stdout.write(bravo.toString());
process.stdout.write('\n');
};
var delay = 1000;
var time = 0;
setInterval(function() {
time++;
_logInline('alpha-' + time, 'bravo-' + time * time);
}, delay);
इस समाधान के साथ स्पष्ट समस्या यह है कि कर्सर खिड़की के शीर्ष के लिए चला जाता है। मुझे यह नहीं चाहिए, इसके बजाय इसे उस सामग्री को प्रदर्शित करना चाहिए जहां कभी कर्सर इस समय है। शायद मुझे अपने तर्क में पहले वर्तमान कर्सर की स्थिति प्राप्त करने की आवश्यकता है। क्या ऐसा करने के लिए कोई रास्ता है?
वैकल्पिक और सबसे पसंदीदा समाधान एक lib जो एक ही बात
संपादित कर सकते हैं पाने के लिए होगा: मैं जो नई लाइन के बिना प्रवेश करने का विकल्प देने के stackoverflow पर कुछ सवाल को देखा है लेकिन वास्तव में यह नहीं है मैं क्या चाहता हूँ। मुझे एकाधिक नो-न्यू-लाइन लॉगिंग चाहिए।
आप कर्सर की स्थिति प्राप्त कर सकते हैं ([यह देखो गीस्ट] (https://gist.github.com/viatropos/3765464)) बैश के साथ लेकिन विंडोज़ में काम नहीं करता है। सबसे आसान समाधान मैंने पाया है: http://pastebin.com/y69by2QE (लेकिन 'कर्सर (0, 0)' का उपयोग करें)। –