Burlesque, 40 bayt
ri#Q2 SH ~- "ri#Q" \/ .+ j "<-" ps if sh
Açıklama:
Burlesque, gelişmiş yığın ve kod manipülasyon yerleşiklerine sahiptir. Aslında, programın kaynak koduna erişemezsiniz, ancak gelecekte yürütülecek kalan koda erişebilirsiniz. Bu, #Qonu izleyen tüm kodları döndürecek, bu yüzden #Qne yaptığımızla o koda her şeyi eklemeliyiz ri#Q.
blsq ) #Q1 2++
12 -- this is the result of 1 2++
{1 2 ++} -- this is the result of #Q
++1 2yığın tabanlı olduğundan teknik olarak yasadışıdır. Ancak şu şekilde çalışmasını sağlamak için kodu değiştirebiliriz 1 2++:
blsq ) #Q<-#q++1 2
12
Bu yapılarda çalışmak inanılmaz derecede zordur ve hiç kimse bunları quine ile ilgili şeyler dışında üretken bir şey için kullanmadı. Eğer tersine çevirirseniz ++1 2almak 2 1++üretecektir hangi 21değil 12. Yukarıdaki kodun üretilmesinin 12nedeni , sonunda, sadece sonuçtan daha fazlasını yürütmekle sonuçlandığımızı #Qda içermesidir : p. Biz yürütme sona üreten .<-2 1++2 1++#q<-12
Aslında kodumuzdaki şeyleri değiştirebiliriz, örneğin bu kod ?+kendi içindeki tüm olayların yerini alır.?*
blsq ) #Q(?+)(?*)r~5.-#q5 5?+
25
Kullanımı:
$ echo "1" | blsq --stdin 'ri#Q2 SH ~- "ri#Q" \/ .+ j "<-" ps if sh'
hs fi sp "-<" j +. /\ "Q#ir" -~ HS 2Q#ir
$ echo "0" | blsq --stdin 'ri#Q2 SH ~- "ri#Q" \/ .+ j "<-" ps if sh'
ri#Q2 SH ~- "ri#Q" \/ .+ j "<-" ps if sh