ASCII sanatı eğlencelidir. Modern metin editörleri metni manipüle etmekte çok iyidir. Modern programlama dilleri göreve hazır mı?
ASCII sanat manipülasyonunda yaygın bir görev, metni iki karakter arasındaki bir dikdörtgene kırpmaktır. Bu görevde uygulamanız gereken görev budur.
ayrıntılar
Programınız 3 giriş alacak:
- birincisi, bloğun 'başlangıç' karakteri - sol üst köşeyi işaretleme
- ikincisi, bloğun 'bitiş' karakteri - sağ alt köşeyi işaretleme
- üçüncüsü, bir dize, bir dize listesi veya dosya adı ya da her neyse, çok satırlı bir metin biçimidir.
Sonuç, verilen girdiler arasındaki dikdörtgene kırpılan çok satırlı metin (yine yukarıdaki formatlardan herhangi birinde) olacaktır. İlk iki girişin benzersiz olmayabileceğini unutmayın.
Edge kutuları
Kutular her zaman en az 2 hacme sahip olmalıdır.
() (
)
olan kutular ancak bu:
)( ) (
( )
(start = (
ve end = ile )
) değildir.
Giriş yalnızca bir kutu içerecektir. Bu nedenle, başlangıç ve bitiş karakterleri aynı karakter olmadıkça yalnızca bir kez gerçekleşmelidir; bu durumda tam olarak iki kez oluşmaları gerekir.
Ayrıca, girişteki her satır en azından bir satırın başlangıcından girişteki kutunun sağ kenarına kadar olan mesafe kadar olmalıdır.
Programınızın geçersiz girdileri işlemesi gerekmez; tanımlanmamış davranışa neden olabilirler.
kurallar
Tipik kod golf kuralları geçerlidir. En kısa kod kazanır.
Örnekler
Güneşli gün: start: ( end: ) input:
This is some text
. (but this text
is in a box ).
So only it is important.
Çıktı:
(but this text
is in a box )
Yatay boşluğun soyulmasına da dikkat edin. ASCII sanat bitkileri 2d'dir.
Yağmurlu gün: start: ( end: ) input:
This is some text (
But is that even )
really a box?
Çıktı:
(
)
Aynı başlangıç / bitiş: start: / end: / input:
Oh, I get how this could be useful
/----------------------------\
| All this text is in a box! |
\----------------------------/
Çıktı:
/----------------------------\
| All this text is in a box! |
\----------------------------/
Geçersiz Giriş: start: ( end: ) input:
Boxes are rectangular ( so this has
0 volume ) which is illegal.
Geçersiz giriş 2: start: ( end: ) input:
(The lines must already be square
so this line that is too short
relative to this end, is illegal)