Sommario
Il codice golf è buono. La torta è buona . Quando metti insieme i due, possono succedere solo cose buone.
specificazioni
In questa sfida gestirai un negozio di torte. L'utente sarà in grado di immettere cinque diversi comandi: list, count, buy, sell, e exit. Ecco le specifiche per ciascuno:
listStampa un elenco di tutte le torte di proprietà e quante. Separare con
|e pad con uno spazio su entrambi i lati.|s deve essere allineato. L'importo della torta può essere negativo (ciò significa che devi una torta a qualcuno:(). Per esempio:| apple | 500 | | blueberry | 2 | | cherry | -30 |
count [type]Stampa quante
{{type}}torte ci sono. Stampa "Non c'è{{type}}torta!" se non ce n'è.{{type}}corrisponderà sempre alla regex\w+(cioè, sarà sempre una singola parola). Ad esempio, se avessi la quantità di torte mostrata nell'elenco degli esempi sopra, allora> count apple 500 > count peach There is no peach pie!
buy [n] [type]Aggiungi
{{n}}al conteggio della{{type}}torta e stampalo. Crea una{{type}}torta se non esiste.{{n}}corrisponderà sempre alla regex[0-9]+(cioè, sarà sempre un numero). Ecco un altro esempio (con lo stesso inventario di torta degli esempi precedenti):> count blueberry 2 > buy 8 blueberry 10
sell [n] [type]Sottrai
{{n}}dal conteggio della{{type}}torta e stampalo. Crea una{{type}}torta se non esiste. La torta può essere negativa (oh no, ciò significherebbe che devi una torta a qualcuno!).> sell 15 blueberry -5 > buy 5 blueberry 0
exitStampa "Il negozio di torte è chiuso!" e uscire dal programma.
> exit The pie store has closed!
Ulteriori chiarimenti
- Se viene chiamata una funzione inesistente (la prima parola), stampa "Non è un comando valido".
- Se una funzione esistente viene chiamata con argomenti non validi (le parole dopo la prima parola), il comportamento del programma non ha importanza. "Argomenti non validi" include troppi argomenti, troppo pochi argomenti,
{{n}}non essendo un numero, ecc. - La torta è buona.
- Il tuo input deve essere distinto dal tuo output. Se stai eseguendo il programma sulla riga di comando / terminal / shell / altra cosa basata su testo, devi aggiungere un prefisso "
> "(un segno" maggiore di "e uno spazio) o qualche altra cosa del prefisso di input della shell. - La torta è buona.
Se tutti questi chiarimenti non sono abbastanza buoni, ecco alcuni esempi di output:
> list > buy 10 apple 10 > sell 10 blueberry -10 > list | apple | 10 | | blueberry | -10 | > count apple 10 > count peach There is no peach pie! > exit The pie store has closed!Se si acquista torta / vendita e il numero di rete diventa
0, è possibile sia tenerlo inlisto no, e si può sia ritornare0oThere is no {{type}} pie!quandocountesso.- Questo è code-golf ; vince il codice più breve.
- Ho già detto che la torta è buona?
buy 1 applee sell 1 apple. E sarebbe quindi valido count applerestituire 0invece di There is no apple pie!?
