figletdüz metni, afişlerde ve benzerlerinde kullanmak için bir ascii-art temsiline dönüştüren bir yardımcı programdır. Örneğin:
$ figlet "CODE GOLF"
____ ___ ____ _____ ____ ___ _ _____
/ ___/ _ \| _ \| ____| / ___|/ _ \| | | ___|
| | | | | | | | | _| | | _| | | | | | |_
| |__| |_| | |_| | |___ | |_| | |_| | |___| _|
\____\___/|____/|_____| \____|\___/|_____|_|
$
Ascii-art çıktısını alıp figletorijinal düz metnine döndüren bir program veya işlev yazın .
Yüklemeniz size yardımcı olabilir figlet. sudo apt-get install figletUbuntu 14.04'te alırsanız sahip olduğunuz 2.2.5 sürümüne sahibim . Bu grafik aslında birkaç "yazı tipine" sahiptir. Bu bağlamın amaçları doğrultusunda, sadece varsayılan standardyazı tipiyle ilgileneceğiz .
Giriş metni 80 karakterden daha geniş olmayacak ve yalnızca büyük harf ve boşluk içeren düz metinden oluşturulacaktır.
Programınız figlethiçbir şekilde arama yapamaz veya kaynak kodunu arayamaz.
Misal
Giriş:
_ ____ ____ ____ _____ _____ ____ _ _ ___
/ \ | __ ) / ___| _ \| ____| ___/ ___| | | |_ _|
/ _ \ | _ \| | | | | | _| | |_ | | _| |_| || |
/ ___ \| |_) | |___| |_| | |___| _|| |_| | _ || |
/_/ \_\____/ \____|____/|_____|_| \____|_| |_|___|
_ _ ___ __ __ _ _ ___ ____ ___ ____
| | |/ / | | \/ | \ | |/ _ \| _ \ / _ \| _ \
_ | | ' /| | | |\/| | \| | | | | |_) | | | | |_) |
| |_| | . \| |___| | | | |\ | |_| | __/| |_| | _ <
\___/|_|\_\_____|_| |_|_| \_|\___/|_| \__\_\_| \_\
____ _____ _ ___ ____ ____ ____ _______
/ ___|_ _| | | \ \ / /\ \ / /\ \/ /\ \ / /__ /
\___ \ | | | | | |\ \ / / \ \ /\ / / \ / \ V / / /
___) || | | |_| | \ V / \ V V / / \ | | / /_
|____/ |_| \___/ \_/ \_/\_/ /_/\_\ |_| /____|
Çıktı:
ABCDEFGHI
JKLMNOPQR
STUVWXYZ
Giriş:
____ _____ _ ____ __ ___ ____ ____
/ ___|_ _|/ \ | _ \ \ \ / / \ | _ \/ ___|
\___ \ | | / _ \ | |_) | \ \ /\ / / _ \ | |_) \___ \
___) || |/ ___ \| _ < \ V V / ___ \| _ < ___) |
|____/ |_/_/ \_\_| \_\ \_/\_/_/ \_\_| \_\____/
Çıktı:
STAR WARS
Bu sorunun daha önceki bir düzenlemesinde büyük ve küçük harfler ile rakam içeren girişlere izin verildiğini unutmayın. Bunun, bazı bitişik karakter kombinasyonları ile birkaç belirsizliğe neden olduğuna dikkat çekildi. Bu tür çarpışmalar olmayan bir dizi karakteri titizlikle bulmam gerektiğinin anlaşılmasıyla yarışma gerçekten yapılabilir. İlk başta tüm küçük harfleri ve rakamları bu kabuk tek satırıyla denedim:
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'
Bu, belirsiz çiftler olarak { j1, jl} ve { i1, il} elde etti. Bu nedenle, tüm büyük harflerle (@AlexA tarafından önerildiği gibi), belirsiz çiftler yoktur:
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(ile indir git clone).
1ve lözdeş değil, ama V1ve aynıdır Vl.