Це запитання написане тому, що "Thing Explainer" цікаво читати і дав мені ідею.
Напишіть "речі, які змушують комп'ютер робити речі", який читає / приймає набір букв, цифр і подібних речей "#%|?
і повертається, True / 1
якщо всі слова є частиною цього набору .
Якщо всі слова не входять до цього набору, поверніть слова, які не були його частиною.
Цей веб-сайт можна вважати правильним у всіх випадках. Правила написані для дотримання специфікацій на цьому сайті.
Приклади:
Truthy :
Код повинен повернути значення "truthy", якщо весь текст над першим горизонтальним рядком вставлений як вхідний.
У наступних рядках повинно бути повернене значення "truthy" (вхід розділено на ###
)
This returns "Hello, World!"
###
tHiS rEtUrNs TrUe...
###
Thing Explainer is a book written by a man.
The man writes books with simple words.
###
This set of stuff "#!^{>7( must return true
Фальсі :
У наступних прикладах введення та виведення розділені між собою ***
. Різні тестові випадки розділені між собою ###
.
This code doesn't return "Hello, World!"
***
code
###
tHiS rEtUrN"s false...
***
s
false
Більш детальні правила:
- Ви можете використовувати це для тестування свого коду.
- Не букви інтерпретуються як пробіли кодом, за винятком слів типу
'wasn't'
. Слова з апострофами, які повертаютьсяtrue
, включаються до списку- Наприклад:
foo123bar
повинен повернутисяfoo
іbar
, оскільки вони не входять до списку, і123
може бути інтерпретований як пробіли
- Наприклад:
- Вхід буде містити лише кодові точки ASCII для друку [10, 32-126].
- Слова можуть містити змішані великі літери. Дивіться другий тестовий випадок.
- Список слів
- слід сприймати як вхід (STDIN, аргумент функції або еквівалент)
- може бути змінено (слова можна розділити новою лінією, комою тощо. Ви можете сортувати список)
- Зауважте, що ви не можете використовувати цей список (він не тотожний)
- Вихід може бути у будь-якому форматі, який вам подобається
- Вихід може бути верхній, нижній або змішаний регістр (необов'язково)
- У виході не повинно бути символів
Для запису Джонатан Аллан знайшов дивний кутовий випадок: реалізація на XKCD насправді ігнорує будь-які літери після апострофа до наступного не- [AZ] [az] ['] - наприклад find's found
, і find'qazxswedc found'
обидва не повертають нічого, тоді як find'qazx.swedc found
повертається swedc
.
Ви можете вибрати, чи не хочете нічого повернути find'qazxswedc found'
, чи повернутись qazxswedc
. Повертаючись qazx, swedc
до find'qazx.swedc
також добре.
Boolean
або Array<String>
, чи буде повернення порожнього масиву / списку допустимим?
1
. Порожній вихід недопустимий.
find'qazxswedc
введення. Ми чи не повинні розбиватися на апострофи? Наприклад, isn't
return true
(це у списку), але isn
повертається isn
, оскільки цього немає в списку. З цієї логіки я пішов з "не розділяйся на апострофи" і тому find'qazxswedc found
повертаюся find'qazxswedc
.