Saya tahu ini agak terlambat (dan agak rewel), tapi ...
> <> (Ikan), 47 45 47 Bytes (benar-benar 43 45, jika saya tidak menggunakan arah acak)
x"!tenalP ,sgniteerG"!|o|!"Greetings, Planet!"x
Jawaban-jawaban ini sedikit berbeda satu sama lain; ada kemungkinan salah satu arah dari kode dieksekusi.
Jadi, dengan "mencetak ke konsol", saya berasumsi Anda bermaksud mencetak ke stdout. Ini menimbulkan kesalahan; kesalahan dilemparkan ke stderr SETELAH string dicetak ke stdout.
Untuk membuktikan bahwa ini bekerja dua arah, saya menggunakan direktur "arah acak", "x". Fish adalah bahasa dua dimensi, jadi, tidak peduli ke arah mana sutradara menunjuk, kode itu masih (pada akhirnya) akan dieksekusi.
Dengan asumsi bahwa sutradara pertama menunjuk ke kanan, karakter dimuat ke "tumpukan" dalam urutan terbalik, kemudian kebalikan dari kebalikan (atau teks normal) dicetak.
Dengan asumsi bahwa kedua direktur menunjuk ke kiri, karakter, sekali lagi, dimuat ke "tumpukan" dalam urutan terbalik (karena kode memuatnya ke belakang di sini, arah adalah ke kiri), kemudian kebalikan dari kebalikan (atau teks normal) dicetak.
Jika direktur acak menunjuk ke atas atau ke bawah, ini tidak masalah - fish tahu untuk mengulang ke bagian bawah atau di luar kode, menunjuk kembali ke pengacak. Dengan cara ini, ia akan terus mengulang dengan pengacak sampai menunjuk ke dalam, menuju kode untuk dieksekusi.
The !|o|!
bit melakukan berikut, dari kedua belah pihak:
!
lewati instruksi berikutnya (akan selalu terlewati |
)
|
adalah reflektor; itu menunjuk ke dalam kembali ke arah o
.
o
mengeluarkan item saat ini dari stack ke konsol sebagai karakter dan menghilangkannya dari stack.
Jadi, pada dasarnya, ini adalah trik "dua cermin di kamar mandi yang ditekan bersama", di mana saya menghasilkan sampai saya tidak bisa lagi.
Sekarang menggunakan emoji kucing. >o<
mengalihkan output ke dalam tanpa batas, masih melempar kesalahan, tapi saya bisa lolos dengan tidak menggunakan lompatan ke refleksi.
Ternyata saya benar pertama kali - upaya kedua bukan palindromik , tetapi reflektif .
Fish (tanpa mencetak ke stderr), 64 Bytes (ew)
x"!tenalP ,sgniteerG"!;oooooooooooooooooo;!"Greetings, Planet!"x
Bung ini sedikit lebih lama.
Ini memiliki fungsi panah acak yang sama (untuk membuktikan itu berfungsi dua arah) dan tidak mencetak ke stderr.
Perbedaannya di sini jelas; Saya benar-benar mencetak setiap item dalam tumpukan, lalu mengakhiri eksekusi dengan;
.
Itu !;
tidak segera mengakhiri eksekusi, seperti !
melompati item berikutnya (end exec, dalam kasus ini) dan berlanjut sampai menyentuh sisi lain, yang bertindak sebagai;!
, di mana ia mengakhiri eksekusi sebelum melewatkan apa pun.
Ini mengikuti pola arah acak yang sama dengan jawaban yang lebih pendek.