Ваше завдання просте . Визначити , якщо один рядок дорівнює інший (не адреси, то значення) без використання операторів рівності (наприклад ==, ===чи .equal()) або нерівність ( !=, !==) нічого подібного на інших мовах. Це означає де завгодно! Ви не можете використовувати цих операторів ніде в коді. Однак ви можете використовувати перемикачі, такі як, наприклад !exp, ви безпосередньо не порівнюєте exp != with something else.
Крім того, ви не можете використовувати будь-які функції, такі як strcmp , strcasecmp тощо.
Що стосується операторів порівняння ( >=, <=, >, <), вони також заборонені . Я розумію, що деякі відповіді включають це, але мені дуже хотілося б побачити більше відповідей, які не межують з оператором рівності.
Показаний приклад використання PHP:
<?php
$a = 'string';
$b = 'string';
$tmp = array_unique(array($a, $b));
return -count($tmp) + 2;
Просто поверніть true або false (або щось, що оцінюється в мові, на true або false, як 0 або 1), щоб вказати, чи збігаються рядки. Рядки повинні бути жорстко кодованими, як це бачиться у наведеному вище прикладі. Рядки не повинні рахуватися в гольфі, тому якщо ви оголошуєте змінну перед рукою, не рахуйте декларацію.