En un solo archivo, escriba un programa que no requiera entrada y no produzca salida. Cuando se ejecuta, debe invertir el nombre del archivo que contiene, independientemente de cuál sea el nombre , sin alterar el código ni producir otros efectos secundarios duraderos.
Cualquier forma de lograr esto está bien. Solo importa que una vez que se ejecute el programa, el único cambio duradero sea que su nombre de archivo se haya revertido. por ejemplo, no deben estar nuevos archivos en el directorio.
Ejecutar el programa nuevamente debería revertir el nombre. De hecho, el programa debería poder ejecutarse arbitrariamente muchas veces.
Para los propósitos de este desafío:
- Puede suponer que los nombres de archivo son siempre cadenas de letras minúsculas (az) entre 1 y 127 caracteres de longitud. (Si su idioma requiere que los archivos tengan extensiones para ejecutarse, simplemente invierta la parte anterior a la extensión, por ejemplo,
mycode.bat
→edocym.bat
). - Puede suponer que el archivo de código está en un directorio por sí mismo, por lo que no tendrá conflictos de nombres (excepto consigo mismo).
- Es posible que no asume el nombre de archivo no es un palíndromo, es decir, la misma cuando se invierte. Los nombres de archivo que son palíndromos deberían funcionar tan bien como los que no lo son.
- Puede leer los contenidos o metadatos de su archivo. No hay restricciones de quine aquí.
- Puede suponer que su programa se ejecutará en un sistema operativo particular, moderno y común (por ejemplo, Windows / Linux), ya que no todos los shells tienen el mismo conjunto de comandos.
Como ejemplo concreto, supongamos que tiene un programa Python en un archivo llamado
mycode
en su propio directorio. Corriendopython mycode
en el terminal debe dar como resultado que se invierta el nombre del archivo
edocym
. El archivoedocym
debe estar solo en su directorio; ya nomycode
debe existir ningún archivo con el nombre . Corriendopython edocym
revertirá el nombre nuevamente
mycode
, en cuyo punto el proceso puede repetirse indefinidamente.Si se cambió el nombre del mismo archivo de Python
racecar
(sin cambiar el código) y luego se ejecutapython racecar
nada debería cambiar visiblemente ya que el "auto de carreras" es un palíndromo. Lo mismo ocurre si el nombre de archivo fuera, digamos,
a
oxx
.
El código más corto en bytes gana. Tiebreaker es la respuesta más votada.