In un singolo file, scrivi un programma che non richiede input e non produce output. Quando eseguito, dovrebbe invertire il nome del file in cui è contenuto, indipendentemente dal nome , senza alterare il codice o produrre altri effetti collaterali duraturi.
Qualsiasi modo per raggiungere questo obiettivo va bene. Importa solo che una volta eseguito il programma l'unica modifica permanente è che il nome del suo file è stato invertito. ad es. nessun nuovo file dovrebbe essere nella directory.
Eseguire nuovamente il programma dovrebbe invertire il nome indietro. In effetti, il programma dovrebbe poter essere eseguito arbitrariamente molte volte.
Ai fini di questa sfida:
- Puoi presumere che i nomi dei file siano sempre stringhe di lettere minuscole (az) tra 1 e 127 caratteri. (Se la tua lingua richiede l'esecuzione di estensioni per i file, inverti la parte prima dell'estensione, ad es .
mycode.bat
→edocym.bat
.) - Puoi presumere che il file di codice sia in una directory da solo, quindi non avrà conflitti di denominazione (tranne con se stesso).
- Si può non assumere il nome del file non è un palindromo, vale a dire lo stesso quando invertito. I nomi di file che sono palindromi dovrebbero funzionare altrettanto bene di quelli che non lo sono.
- Puoi leggere il contenuto o i metadati del tuo file. Non ci sono restrizioni quine qui.
- Si può presumere che il programma verrà eseguito su un sistema operativo particolare, moderno e comune (ad esempio Windows / Linux), poiché non tutte le shell hanno lo stesso set di comandi.
Ad esempio concreto, supponiamo di avere un programma Python in un file chiamato
mycode
nella sua directory. In esecuzionepython mycode
nel terminale dovrebbe comportare l'inversione del nome file
edocym
. Il fileedocym
dovrebbe trovarsi da solo nella sua directory - nessun file nominatomycode
dovrebbe esistere più. In esecuzionepython edocym
ripristinerà il nome a
mycode
, a quel punto il processo può essere ripetuto indefinitamente.Se lo stesso file Python è stato rinominato
racecar
(senza modificare il codice) e quindi eseguitopython racecar
nulla dovrebbe cambiare visibilmente poiché "racecar" è un palindromo. Lo stesso vale se il nome file fosse, diciamo,
a
oxx
.
Vince il codice più breve in byte. Tiebreaker è la risposta più votata.