Kod + veri sorguları
Bir quine için en genel yapı, bu sözde kod gibi görünüyor:
veri = " tüm programın çıkışlı bir versiyonu,
bu dize ile bir işaretleyici yerine "
program = data.replace (
işaretçiyi değerlendiren ancak ondan bahsetmeyen bir ifade ,
kaçan (veri))
yazdırma programı;
Bu yapı, çoğu dilde (oldukça saf) bir yazı yazmak için kullanılabilir. Ancak, çoğu puanlama sisteminde oldukça kötü puan alma eğilimindedir, çünkü programın tamamını iki kez yazmanız gerekir. Bununla birlikte, çoğu yüzgeç yapıları, bunun optimizasyonları olarak düşünülebilir.
Bunun bazı incelikleri var. Bazı dillerde, bu işlemi gerçekleştirmenin en zor kısmı, çıkış kodunu yazmaktır; birçok dilde, işaretleyicinin adını söylemeden üretmek zordur; ve bazı ezoterik dillerde, kendi dizinizdeki hazır yazı türünü icat etmeniz gerekecek. Her üç operasyon da çok fazla sorun yaratmaya meyilli değil.
Örneğin, bir dizgeden kaçan repr
ve 2 karakter dizili x"
dizgiyi (dizgenin dizgesindeki dizilim göstergesindeki diziyi "x\""
kullanmayacak şekilde x"
gösterilebilir), işaretçi olarak kullanarak bir Python keki yazabiliriz :
d='d=x"\nprint(str.replace(d,"x\\"",repr(d)))'
print(str.replace(d,"x\"",repr(d)))