Escriba un programa para probar si una cadena es palindrómica, con la condición adicional de que el programa sea palindrómico.
code-challenge
palindrome
marcog
fuente
fuente

Respuestas:
Rubí
Imprime 1 si la entrada es un palíndromo, 0 si no lo es. Entrada sin salto de línea.
No usa ningún comentario, en su lugar usa 2 trucos:
0es verdadero-ish en Ruby (solonilyfalseevaluar como falso), por1&&z==esrever.z* stuplo que no se evalúa y, por lo tanto, no puede generar una excepción de tiempo de ejecución*): para evitar un error de sintaxisz=esrever.z stup, forzamos al analizador a analizar estoz=esrever.z()*stupal agregar a*. Por otro lado,*se analiza como un operador splat, que en una llamada a la función divide una matriz en una serie de parámetros. Si solo hay un elemento en lugar de una matriz, básicamente no hace nada, por lo queputs *fooes equivalente aputs foo.Solución obvia usando comentarios (imprime verdadero / falso):
fuente
Python sin comentarios
Me sorprende que nadie haya encontrado ese truco todavía, ¡debería funcionar en la mayoría de los idiomas!
fuente
printdeclaración y si permite que la entrada especificada entre comillasraw_input()se acorteinput(). Falta un '=' extra al comienzo."a\"#;w==]1-::[w;)(tupni_war=w;";w=raw_input();w[::-1]==w;#"\a"Perl
perl -nle "$s=$_ eq+reverse;print$s;s$tnirp;esrever+qe _$=s$"sin trucos de comentarios, solo abusando hábilmente del operador de sustitución (bueno, las variables perl también comienzan con $, ¿y qué?)
fuente
Python 2.7
fuente
do
Ejecutando ejemplo:
fuente
Golfscript
fuente
PHP
Hechos:
$zstring, la cadena de entrada para verificar$tboolean, TRUE si la cadena de entrada$zes palíndromo, FALSO de lo contrario$tLa razón por la cual no será posible implementar el verificador de palíndromo palindrómico en PHP es porque las variables de PHP se nombran comenzando con a
$. No puede finalizar un nombre de identificador con$en PHP.fuente
PHP
Utiliza algunos trucos extraños para evitar el
$problema, técnicamente no es un palíndromo ya que tuve que introducirlo;al final.Este es un trabajo que utiliza los
/* */comentarios de PHP y el hecho de que no necesita el final para ellos.fuente
evaldebería serlave.CoffeeScript
En realidad luché con la ortografía inversa de 'split', 'reverse' y 'join': \
fuente
Maravilloso
fuente
Python 3, 55 bytes
Utiliza un comentario, pero es más corto que el otro Python que utiliza comentarios.
fuente
Fuzzy Octo Guacamole , 17 bytes
No estoy seguro de cómo se define la victoria, pero puse el conteo de bytes en la parte superior.
^obtiene la entrada y la empuja a la primera pila.Ccopia la primera pila a la segunda.zinvierta la parte superior de la pila, de modo que "as" se convierta en "sa"..desplaza la pila activa, de modo que la pila activa tiene la entrada y la inactiva tiene la entrada invertida.=comprueba la igualdad, volviendo0por la igualdad.iinvierte el ToS, entonces se0convierte1, y cualquier otra cosa se convierte prácticamenteFalse._aparece y establece la variable temporal que;luego imprime.@finaliza el programa manualmente, por lo que no golpea la parte invertida. Esto hace que el palíndromo.fuente
Javascript
Difícil hacerlo sin comentarios ...
fuente