Підсумок
Код гольфу хороший. Пиріг хороший . Коли ви складете їх разом, можуть статися лише хороші речі.
Технічні умови
У цьому виклику ви керуєте магазином пирогів. Користувач матиме можливість вводити п'ять різних команд: list, count, buy, sell, і exit. Ось технічні характеристики для кожного:
listРоздрукуйте список усіх пиріжків, якими володієте, і скільки. Розділіть
|та прокладіть пробіл з обох боків.|s повинні бути вирівняні. Кількість пирога може бути негативною (це означає, що ви зобов’язані пиріг комусь:(). Наприклад:| apple | 500 | | blueberry | 2 | | cherry | -30 |
count [type]Роздрукуйте, скільки
{{type}}пирогів є. Друк "Пирога немає{{type}}!" якщо його немає.{{type}}завжди відповідатиме регулярним виразом\w+(тобто це завжди буде одне слово). Наприклад, якщо у мене була кількість пиріжків, наведених у наведеному вище списку прикладів, то> count apple 500 > count peach There is no peach pie!
buy [n] [type]Додайте
{{n}}до кількості{{type}}пирога та роздрукуйте його. Створіть{{type}}пиріг, якщо його не існує.{{n}}завжди відповідатиме регулярним виразом[0-9]+(тобто, це завжди буде число). Ось ще один приклад (із таким же інвентарем пирога, що і попередні приклади):> count blueberry 2 > buy 8 blueberry 10
sell [n] [type]Відняти
{{n}}від кількості{{type}}пирога і роздрукувати його. Створіть{{type}}пиріг, якщо його не існує. Пиріг може бути негативним (о ні, це означало б, що ви зобов'язані комусь пирогу!).> sell 15 blueberry -5 > buy 5 blueberry 0
exitДрук "Пиріг закрився!" і вийти з програми.
> exit The pie store has closed!
Подальші роз’яснення
- Якщо неіснуюча функція викликається (перше слово), друкуйте "Це не допустима команда".
- Якщо існуюча функція викликається недійсними аргументами (слова після першого слова), то, як поводиться ваша програма, значення не має. "Недійсні аргументи" включає занадто багато аргументів, занадто мало аргументів,
{{n}}не є числом тощо. - Пиріг хороший.
- Вхід повинен відрізнятися від результатів. Якщо ви запускаєте програму в командному рядку / терміналі / оболонці / іншій текстовій річці, вам слід ввести префікс введення
> "знаком " (знак" більший за "та пробіл) або іншим предметом вставки оболонки. - Пиріг хороший.
Якщо всі ці роз'яснення недостатньо хороші, ось кілька вибірок результатів:
> 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!Якщо ви купити / продати пиріг і чистий граф стає
0, ви можете або зберегти його вlistчи ні, і ви можете або повернутися0абоThere is no {{type}} pie!коли виcountйого.- Це код-гольф ; виграє найкоротший код.
- Я згадав, що пиріг хороший?
buy 1 appleі ти sell 1 apple. І чи було б тоді справедливим count appleповернення 0замість There is no apple pie!?
