2015-05-21 4 views
8

मेरे पास एक प्रोग्राम है जो डेटा प्रिंट करता है, जिसे किसी तालिका की तरह दिखने वाले प्रारूप में मुद्रित किया जाना चाहिए, हालांकि तालिका 2 से अधिक होने पर तालिका टूट जाती है। मुझे width पैरामीटर std::fmt में पता है, लेकिन मैं नहीं कर सकता इसके चारों ओर मेरा सिर जाओ।कंसोल पर अच्छी तरह से स्वरूपित तालिकाओं को मुद्रित करने के लिए कैसे?

वर्तमान उत्पादन:

--------------------------------------- 
| total | blanks: | comments: | code: | 
--------------------------------------- 
| 0 | 0 | 0  | 0 | 
| 77 | 0 | 3  | 74 | 
| 112 | 0 | 6  | 106 | 
| 178 | 0 | 6  | 172 | 
| 218 | 0 | 7  | 211 | 
| 289 | 0 | 8  | 281 | 
| 380 | 0 | 9  | 371 | 
| 460 | 0 | 10  | 450 | 
| 535 | 0 | 11  | 524 | 
| 611 | 0 | 12  | 599 | 
| 692 | 0 | 14  | 678 | 
| 772 | 0 | 17  | 755 | 
| 873 | 0 | 18  | 855 | 
| 963 | 0 | 19  | 944 | 
| 1390 | 0 | 19  | 1371 | 
| 1808 | 0 | 19  | 1789 | 
| 2011 | 0 | 19  | 1992 | 
| 2259 | 0 | 19  | 2240 | 
| 2294 | 0 | 19  | 2275 | 
| 2349 | 0 | 19  | 2330 | 
| 2376 | 0 | 19  | 2357 | 
| 2430 | 0 | 19  | 2411 | 
| 2451 | 0 | 19  | 2432 | 
| 2515 | 13 | 19  | 2483 | 
| 2559 | 13 | 19  | 2527 | 
+0

कोशिश अंतरिक्ष करने के बजाय टैब का उपयोग करें। संख्याओं या तारों के साथ 8 वर्णों से कम काम करना चाहिए। – Stephan

+1

यदि आप टैब का उपयोग करते हैं, तो मैंने लोचदार टैबस्टॉप करने के लिए एक क्रेट लिखा है, जो उनकी लंबाई के बावजूद कॉलम को संरेखित करेगा: https://github.com/BurntSushi/tabwriter – BurntSushi5

उत्तर

14

वाक्य रचना अजगर में str.format वाक्य रचना की तरह है। यह:

fn main() { 
    println!("{0: <10} | {1: <10} | {2: <10} | {3: <10}", 
     "total", "blanks", "comments", "code"); 
    println!("{0: <10} | {1: <10} | {2: <10} | {3: <10}", 0, 0, 0, 0); 
    println!("{0: <10} | {1: <10} | {2: <10} | {3: <10}", 77, 0, 3, 74); 
    println!("{0: <10} | {1: <10} | {2: <10} | {3: <10}", 112, 0, 6, 106); 
    println!("{0: <10} | {1: <10} | {2: <10} | {3: <10}", 460, 0, 10, 1371); 
} 

निम्नलिखित उत्पादन का उत्पादन:

total  | blanks  | comments | code  
0   | 0   | 0   | 0   
77   | 0   | 3   | 74   
112  | 0   | 6   | 106  
460  | 0   | 10   | 1371 

rust playground

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

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