Autorizzazioni file
Adattato dalla UIL - Computer Science Programming domanda di risposta gratuita "Carla" per il Distretto 2018.
introduzione
Nei sistemi operativi simili a UNIX, ogni file, directory o collegamento è "posseduto" da un "utente", che è un membro di un "gruppo" e dispone di determinate "autorizzazioni" rappresentate da una stringa di dieci caratteri come " drwxrwxrwx". Il primo carattere è 'd', '-' o 'l' (directory, file o collegamento), seguito da tre serie di valori "rwx", che indicano le autorizzazioni "lettura, scrittura, esecuzione". Il primo set sono i diritti dell'utente, il centro imposta i diritti del gruppo e il terzo i diritti di tutti gli altri su quell'oggetto.
L'autorizzazione negata per uno di questi diritti è rappresentata da una "-" al posto della "r", "w" o "x". Ad esempio, una stringa di autorizzazione della directory di esempio sarebbe "drwxr - r--", che indica i diritti di directory completi per l'utente, ma i diritti di "sola lettura" per il membro del gruppo e tutti gli altri.
Ogni combinazione "rwx" può anche essere rappresentata da un valore ottale (0-7) con il bit più significativo che rappresenta l'autorizzazione in lettura, il bit più significativo che rappresenta l'autorizzazione in scrittura e il bit meno significativo che rappresenta l'autorizzazione all'esecuzione.
Sfida
Data una stringa di codice di quattro caratteri composta da un carattere: 'D', 'F' o 'L', seguito da un valore intero ottale a tre cifre, come 664, genera la stringa di 10 caratteri risultante che rappresenta il valore dell'autorizzazione indicato.
Ingresso
Il tuo programma o funzione può leggere l'input dallo standard in (verranno inseriti quattro caratteri, facoltativamente seguiti da una nuova riga) o passare l'input come argomento.
Il tuo programma può accettare input maiuscoli o minuscoli ma deve essere coerente (o tutti gli input sono maiuscoli o tutti gli input sono minuscoli).
Produzione
Il programma deve stampare la stringa di dieci caratteri risultante che rappresenta il valore di autorizzazione indicato nel formato esatto sopra specificato. È consentito lo spazio bianco in coda.
Casi test
In: F664Out: -rw-rw-r--
In: D775Out: drwxrwxr-x
In: L334Out: l-wx-wxr--
In: F530Out: -r-x-wx---
In: D127Out:d--x-w-rwx
Punteggio e regole
- Sono vietati i fori standard .
- Si applicano le regole standard .
- Fornisci un link per testare il tuo codice e una spiegazione.
- Questo è code-golf , quindi vince la risposta più breve in byte!