figletउपयोगिता है कि सादा पाठ को बैनर और इस तरह उपयोग के लिए एससी-कला प्रतिनिधित्व में परिवर्तित करती है। उदाहरण के लिए:
$ figlet "CODE GOLF"
____ ___ ____ _____ ____ ___ _ _____
/ ___/ _ \| _ \| ____| / ___|/ _ \| | | ___|
| | | | | | | | | _| | | _| | | | | | |_
| |__| |_| | |_| | |___ | |_| | |_| | |___| _|
\____\___/|____/|_____| \____|\___/|_____|_|
$
एक प्रोग्राम या फ़ंक्शन लिखिए जो एएससीआई-आर्ट आउटपुट से लेता है figletऔर इसे अपने मूल सादे पाठ पर लौटाता है।
यह आपको स्थापित करने में मददगार हो सकता है figlet। मेरे पास २.२.५ संस्करण है जो कि आपको sudo apt-get install figlet१४.०४ पर मिलता है । इस अंजीर में वास्तव में कई "फोंट" हैं। इस संदर्भ के प्रयोजनों के लिए, हम केवल डिफ़ॉल्ट standardफ़ॉन्ट के साथ काम करेंगे ।
इनपुट टेक्स्ट कोई और नहीं होगा जो कि 80 अक्षर चौड़ा होगा, और सादे टेक्स्ट से उत्पन्न होगा जिसमें केवल अपरकेस अक्षर और स्पेस होगा।
आपका कार्यक्रम figletकिसी भी तरह से या उसके स्रोत कोड को कॉल नहीं कर सकता है ।
उदाहरण
इनपुट:
_ ____ ____ ____ _____ _____ ____ _ _ ___
/ \ | __ ) / ___| _ \| ____| ___/ ___| | | |_ _|
/ _ \ | _ \| | | | | | _| | |_ | | _| |_| || |
/ ___ \| |_) | |___| |_| | |___| _|| |_| | _ || |
/_/ \_\____/ \____|____/|_____|_| \____|_| |_|___|
_ _ ___ __ __ _ _ ___ ____ ___ ____
| | |/ / | | \/ | \ | |/ _ \| _ \ / _ \| _ \
_ | | ' /| | | |\/| | \| | | | | |_) | | | | |_) |
| |_| | . \| |___| | | | |\ | |_| | __/| |_| | _ <
\___/|_|\_\_____|_| |_|_| \_|\___/|_| \__\_\_| \_\
____ _____ _ ___ ____ ____ ____ _______
/ ___|_ _| | | \ \ / /\ \ / /\ \/ /\ \ / /__ /
\___ \ | | | | | |\ \ / / \ \ /\ / / \ / \ V / / /
___) || | | |_| | \ V / \ V V / / \ | | / /_
|____/ |_| \___/ \_/ \_/\_/ /_/\_\ |_| /____|
आउटपुट:
ABCDEFGHI
JKLMNOPQR
STUVWXYZ
इनपुट:
____ _____ _ ____ __ ___ ____ ____
/ ___|_ _|/ \ | _ \ \ \ / / \ | _ \/ ___|
\___ \ | | / _ \ | |_) | \ \ /\ / / _ \ | |_) \___ \
___) || |/ ___ \| _ < \ V V / ___ \| _ < ___) |
|____/ |_/_/ \_\_| \_\ \_/\_/_/ \_\_| \_\____/
आउटपुट:
STAR WARS
इस प्रश्न के पिछले संपादन पर ध्यान दें जिसमें ऊपरी और निचले मामले के अक्षरों और अंकों के इनपुट शामिल हैं। यह बताया गया कि इससे कुछ आसन्न चरित्र संयोजनों के साथ अस्पष्टता के कई बिंदु हो गए। यह स्पष्ट हो गया कि मुझे ऐसे किसी भी टकराव के साथ पात्रों का एक समूह खोजने की आवश्यकता है, ताकि प्रतियोगिता वास्तव में संभव हो। पहले तो मैंने इस शेल वन-लाइनर के साथ सभी लोअरकेस अक्षर और अंकों को आज़माया:
for t in {0..9}{a..z} {a..z}{a..z} {a..z}{0..9} {0..9}{0..9} ; do figlet $t | tr '\n' ':'; echo ; done | sort | uniq -d | tr ':' '\n'
इससे अस्पष्ट जोड़े के रूप में { j1, jl} और { i1, il} उपज प्राप्त हुई। इसलिए सभी बड़े अक्षरों के साथ (जैसा कि @AlexA द्वारा सुझाया गया है।), कोई अस्पष्ट जोड़े नहीं हैं:
for t in {A-Z} ; do figlet $t | tr '\n' ':'; echo ; done | sort | uniq -d | tr ':' '\n'
git://git.debian.org/git/collab-maint/figlet.git(साथ डाउनलोड करें git clone)।
1और lसमान नहीं हैं, लेकिन हैं V1और Vlहैं।