D,g,@~~,L2_|*;;*|_2L,@,g,D
D,ff,@^^,BG€gBF;;FBg€GB,@D1:?:
xx:?
aa:1
`bb
Bxx;;B
Waa*bb,`yy,$ff>xx,`aa,xx|yy,`bb,Byy,xx:yy
O;;O:,B,`,|,`,>$,`,*W`
Çevrimiçi deneyin!
Eğlenceli gerçek: Bu açıklama başlamadan çok önce 272 bayttır, şimdi Java'yı yener.
True
Mükemmel dengelenmiş dizgiler için çıktılar , False
aksi takdirde
Benim büyük memnuniyet için, bu sıkıcı yener palindromize versiyonunu tarafından 2 kez basılmış olan sonuç önlemek için, bayt. Ayrıca, mümkün olduğunca az ölü kodun olmasını da hedefledim, yine de bazı yorumlanmış bölümler var ve kod doğru değeri yazdırdıktan sonra 1 hata koduyla çıkıyor .
Not : BF
Komutlarla ilgili bir hata düzeltildi Bu cevap geliştirilirken .
Nasıl çalışır
ffgffffgSff(S)S
Sabbbaabacc[[a],[bbb],[aa],[b],[a],[cc]]g, ve işlevlerin sonucu alt listeleri değiştirin.
g2x[a][bb][ccc]
[a]⇒[a,1]
[bb]⇒[b,b,0]
[ccc]⇒[c,c,c,1]
xx>2x−2x*
ve fonksiyon doğal yığının üst eleman verir: tekrar dizisi.
g(s)sBF
^
D,ff,@^^,
grr;;
bir yorum yorumdur ve bu nedenle dikkate alınmaz.
ffgff
- xxff
- yyff
- aa
- bbyy
gxyabg
€
abc{...}
g{...}
ggffg
D,gg,@~~,L2_|*;;*|_2L,@D (NB: -2 bytes)
D,ff,@^^,BG€{gg}BF;;FB}gg{€GB,@D?: (NB: +6 bytes)
4 bayt daha uzun.
x=5x=15
x+10 ; Explicit argument
+10 ; Implicit argument, as x is active
x`
ffgxxxx:?
xxaaaa:1
1xxbb
`bb
Bxx
bbxxaa:=1bb:=¬¬xx
Sonra biz while döngüsüne giriyoruz:
Waa*bb,`yy,$ff>xx,`aa,xx|yy,`bb,Byy,xx:yy
While döngüsü Add ++ ' da bir yapıdır : değişkenler yerine doğrudan kod üzerinde çalışır. Yapılar, ,
üzerinde çalıştıkları bir dizi kod ifadesi alırlar. While ve if ifadeleri ,
, değişkenlerden önce bir infix komutu gibi tek bir geçerli ifadeden oluşan ilkinden önce doğrudan bir koşul alır . Unutulmaması gereken bir şey: aktif değişken durumdan çıkarılamaz.
aa*bb
aabbyyff(x)
`yy,$ff>xx
aa
- 1) Yeni değer eski değere eşit değil (benzersiz iken döngü)
- 2) Yeni değer boş dize değil
Add ++ 'nın en büyük dezavantajlarından biri, ikinci bir döngü değişkenine sahip olmayı gerektiren bileşik ifadelerin eksikliğidir. İki değişkenimizi atadık:
aa:=xx≠yy
bb:=¬¬(yy)
Kod ile
`aa,xx|yy,`bb,Byy
|
B
xxyyxx:yy
ffaabb
aax=yaayybbaa
Daha sonra son ifademize ulaşıyoruz:
O
bb
- aa=1bb=FalseFalse
- aa=Truebb=FalseFalse
- aa=Falsebb=TrueTrue
bbbbTrueFalse