Bu sitedeki pek çok insan ezoterik diller kullanıyor ve bu diller sıra dışı ve anlaşılması zor olduğu için sık sık belli bir biçimde bir açıklama yazacaklar. Örneğin, kod açıksa
abcdefghijklmnop
Ve bu diller #
yorumlar için kullanır , şöyle bir açıklama yazarlar:
a #Explanation of what 'a' does
bc #Bc
d #d
e #Explanation of e
fgh #foobar
ij #hello world
k #etc.
l #so on
mn #and
op #so forth
Bunu da sık sık yapıyorum, ancak bunu her yaptığımda, metin düzenini oluşturmak gerçekten iğrenç ve zaman alıcı gibi hissediyorum. Bu yüzden benim için bir "Esolang-Yorum-Şablon-Jeneratör" oluşturmanızı istiyorum. Örneğin, yorumları görmezden gelirsek, önceki kod şu şablona sahiptir:
a #
bc #
d #
e #
fgh #
ij #
k #
l #
mn #
op #
Meydan okuma:
Giriş olarak iki dizgiyi alan ve bu "Esolang-Comment-Template" çıktısını alan bir program veya işlev yazmalısınız. İlk girdi kod olacak, ancak |
yeni satırların gittiği yere eklenen çubuklarla ( ). İkinci girdi, yorumlar için kullanacağımız şeydir. Yani son örneğimizde girdi için bu olurdu:
"a|bc|d|e|fgh|ij|k|l|mn|op", "#"
Ne yazık ki bu, kod girişinin bir parçası olarak çubukları hariç tutar, ancak sorun değil. Yorum girişinin tek bir karakter olacağını varsayabilirsiniz. Sadelik uğruna, yorum char bir bar olmayacak. Kod girişi yalnızca yazdırılabilir ASCII içerecek ve herhangi bir yeni satır içermeyecek.
Umarım testislerden ne yapacağını çıkarırsın, ama bazı şeyleri açıklığa kavuşturmaya çalışacağım.
Kod girişini her çubukta "kod bölümlerine" bölmelisiniz. Ardından, kodun her bir bölümü kendi satırında çıkarılır ve önceki tüm kodların uzunluğu ile sol çubuklarla doldurulur (çubuklar dahil değil). Ardından, her satır yeterli boşlukla sağa doldurulur, böylece her satırdaki son iki karakter "Ek bir boşluk" + "Yorum karakteri" olur.
Sondaki bir satırsonuna izin verilir.
İşte başka bir örnek. Giriş için
"Hello|World", "/"
Kodun ilk bölümü "Merhaba", ikincisi "Dünya". Bu yüzden çıktı vermelidir:
Hello /
World /
İşte bazı örnekler:
Input:
"a|b|c|d|e|f|g", ","
Output:
a ,
b ,
c ,
d ,
e ,
f ,
g ,
Input:
"abcdefg", ":"
Output:
abcdefg :
Input:
"4|8|15|16|23|42", "%"
Output:
4 %
8 %
15 %
16 %
23 %
42 %
Input:
"E|ac|h s|ecti|on is| one c|haracte|r longer| than the| last!", "!"
Output:
E !
ac !
h s !
ecti !
on is !
one c !
haracte !
r longer !
than the !
last! !
Input:
"This|Code|has||empty||sections", "@"
Output:
This @
Code @
has @
@
empty @
@
sections @
Kurallar:
Bu giriş ve çıkışları herhangi bir makul formatta alabilirsiniz. Örneğin, vb zamanki gibi / bir dosya yazma, STDIN / STOUT, fonksiyon argümanları / dönüş değeri, okuma, bu kod golf , bu nedenle mümkün olduğunca kısa kodunuzu yapmaya ve en kısa çözümü alabilirsiniz eğer kazanmak kendi dilinizde Ayrıca genel kazanan olarak en kısa çözümü seçeceğim. Standart boşluklar yasaklandı.
|
Karakteri kullanmadan yapmayı başarırsanız bir bonus iyi olurdu, bu yüzden kendinizi açıklayabilirsiniz
|
) olabilir mi?