Уявіть собі, у нас є середовище з глобальним розмахом, що містить лише один об'єкт, зване codegolf
. Цей об’єкт має єдину дитину stackexchange
, яка називається , яка має властивість називатися com
.
Доступ до цього ресурсу виглядав би так codegolf.stackexchange.com
.
Змагання
Вхід вашої програми / функції буде рядком, який намагається отримати доступ до властивості в глобальному масштабі. Щоразу, коли ця властивість буде знайдена, ви повинні надрукувати / повернути триєдине значення. Якщо властивість не знайдено, фальшиве значення надрукується / повернеться. Улов: коли ви намагаєтеся отримати доступ до властивості на неіснуючому об'єкті, ваша програма повинна видавати будь-які помилки¹.
Щоб зробити щось простіше, ви можете припустити, що введення завжди буде [a-z.]
, воно ніколи не буде порожнім, у нього ніколи не буде повторення .
, і він ніколи не починається і не закінчується символом a .
. Так codegolf.
це недійсний ввід.
Тестові справи
codegolf.stackexchange.com => 1 // or any other truthy value
codegolf.stackexchange.net => 0 // or any other falsy value
codegolf.stackexchange => 1
codegolf.foo => 0
codegolf => 1
foo => 0
codegolf.com => 0
codegolf.constructor => 0
codegolf.foo.bar => Error (since foo is undefined)
codegolf.stackexchange.com.foo => Error (since com is a value, not an object)
codegolf.stackexchange.com.foo.bar => Error
foo.stackexchange.com => Error
foo.bar => Error
foo.bar.baz => Error
Це кодовий гольф , найкоротший код у виграші байтів
¹ якщо (і тільки якщо) ваш язик вибору не підтримує помилки на всіх , ви повинні вивести що - то , що робить його ясно , що це помилка. Наприклад, якщо ви використовуєте 1 для трибуни і 0 для хибної помилки, ви можете використовувати "e" для помилки. Будьте послідовними у своїх повернених значеннях та поясніть поведінку у своїй посаді.
codegolf.com
до тестових випадків, щоб виключити перевірку codegolf(.stackexchange)?(.com)?$
типів
foo.stackexchange.com
foo
повернеться undefined
, але це не призведе до помилки. foo.bar
видасть помилку, тому що foo
не визначено.
codegolf.foo => 0
, так foo => 0
.
foo => Error
було б доречніше.