Je sais que c'est un peu tard (et un peu capricieux), mais ...
> <> (Fish), 47 45 47 Bytes (vraiment 43 45, si je n'utilisais pas la direction aléatoire)
x"!tenalP ,sgniteerG"!|o|!"Greetings, Planet!"x
Ces réponses sont un peu différentes les unes des autres; il est possible que l'une ou l'autre direction du code soit exécutée.
Donc, en "imprimant sur console", j'ai supposé que vous vouliez dire imprimer sur stdout. Cela jette une erreur; l'erreur est renvoyée à stderr APRÈS que la chaîne soit imprimée sur stdout.
Pour prouver que cela fonctionnait dans les deux sens, j'ai utilisé le directeur "direction aléatoire", "x". Le poisson est un langage à deux dimensions, donc, quel que soit le sens du directeur, le code sera toujours (éventuellement) exécuté.
En supposant que le premier directeur pointe vers la droite, les caractères sont chargés dans la "pile" dans l'ordre inverse, puis l'inverse de l'inverse (ou le texte normal) est imprimé.
En supposant que les deux directeurs pointent vers la gauche, les caractères sont, une fois de plus, chargés dans la "pile" dans l'ordre inverse (parce que le code le charge à l'envers ici, la direction est à gauche), puis l'inverse de l'inverse (ou le texte normal) est imprimé.
Si le directeur randomisé pointe vers le haut ou vers le bas, cela n'aura pas d'importance - le poisson sait faire une boucle vers le dessous ou le dessus du code, pointant vers le randomiseur. De cette façon, il continuera à boucler avec les randomiseurs jusqu'à ce qu'il pointe vers l'intérieur, vers le code à exécuter.
Le !|o|!
bit fait ce qui suit, des deux côtés:
!
saute l'instruction suivante (sautera toujours |
)
|
est un réflecteur; il pointe vers l'intérieur vers o
.
o
renvoie l'élément actuel de la pile sur la console en tant que personnage et le supprime de la pile.
Donc, essentiellement, c'est l'astuce "deux miroirs dans une salle de bain pressés ensemble", où je produis jusqu'à ce que je ne puisse plus.
Maintenant, en utilisant un emoji de chat. >o<
redirige la sortie vers l'intérieur à l'infini, lançant toujours l'erreur, mais je peux m'en tirer sans utiliser de saut en réflexion.
Il s'avère que j'avais raison la première fois - la deuxième tentative n'était pas palindromique , mais elle était réfléchissante .
Poisson (sans imprimer sur stderr), 64 octets (ew)
x"!tenalP ,sgniteerG"!;oooooooooooooooooo;!"Greetings, Planet!"x
Ce mec est un peu plus long.
Il a la même fonction de flèche aléatoire (pour prouver qu'il fonctionne dans les deux sens) et n'imprime pas sur stderr.
La différence ici est évidente; J'imprime littéralement chaque élément de la pile, puis je termine l'exécution avec ;
.
L' !;
exécution ne met pas fin immédiatement à l'exécution, car elle !
saute l'élément suivant (exécution finale, dans ce cas) et continue jusqu'à ce qu'elle touche l'autre côté, qui agit comme ;!
, où elle termine l'exécution avant d'ignorer quoi que ce soit.
Elle suit le même schéma de direction aléatoire que la réponse courte.