Tantangan:
Tulis kode itu, ketika dijalankan akan menampilkan kode sumber program kedua yang dapat dieksekusi dalam bahasa lain. Program kedua harus menampilkan kode sumber dari program ketiga yang dapat dieksekusi dalam bahasa ketiga dan seterusnya. Program terakhir harus di-output PPCG
dengan single trailing newline opsional.
Pemenangnya adalah pengiriman dengan bahasa paling banyak. Panjang kode program pertama adalah tie breaker.
Aturan penting:
- Tidak ada program yang identik
- Setiap bahasa hanya boleh bekerja pada salah satu kode sumber. Seharusnya tidak mungkin menggunakan bahasa yang sama dua tempat dalam rantai tanpa memutusnya (lihat contoh) .
- Rantai yang diperpendek bukanlah rantai yang rusak. Jika Anda dapat menggunakan bahasa di tempat yang berbeda dari yang dimaksudkan dan hasil akhirnya masih PPCG maka itu tidak valid
- Semua versi bahasa dihitung sebagai bahasa yang unik (tetapi perlu diingat aturan nomor 2)
Contoh:
Pengiriman yang tidak valid:
print("""print'disp("PPCG")'""")
- Python 3:
print("""print'disp("PPCG")'""")
cetakanprint'disp("PPCG")'
- Python 2:
print'disp("PPCG")'
cetakandisp("PPCG")
- Oktaf:
disp("PPCG")
cetakanPPCG
Ini berfungsi dengan baik, tetapi: Anda bisa menjalankan kode pertama dan kedua di Python 2 tanpa memutus rantai, jadi ini melanggar aturan nomor 2.
Pengajuan yang valid dengan skor 3:
print("""print'disp("PPCG")'""")
- Python 3:
print("""print'disp("PPCG")'""")
cetakanprint'disp("PPCG")'
- Perl:
print'disp("PPCG")'
cetakandisp("PPCG")
- Oktaf:
disp("PPCG")
cetakanPPCG
Ini adalah kode yang sama persis dengan contoh yang tidak valid. Perbedaannya adalah, kami telah memilih bahasa yang mematuhi aturan nomor 2: Anda tidak dapat menjalankan kode pertama di Perl / Octave, kode kedua di Python 3 / Octave atau kode terakhir di Python 3 / Perl. Ini valid meskipun Python 2 dapat menjalankan dua program pertama, karena kami belum menggunakan Python 2 sebagai salah satu bahasa.