В наименьшем количестве возможных байтов определите, соответствуют ли каждое из двух значений каждому из следующих:
Первое значение
2 string or integer - whichever you prefer
to case insensitive
too case insensitive
two case insensitive
t0 case insensitive (t zero)
Второе значение
b case insensitive
be case insensitive
bee case insensitive
b3 case insensitive
Примеры
2 'Bee' true
'2' 'b' true
'not to' 'be' false
'that is' 'the question' false
Ответы:
Шекспир , 4778 байт
Примечание: этот ответ не должен быть серьезным конкурентом
Выходы 0, если ложь, 1, если правда.
Это легко может быть короче (и если люди действительно хотят, чтобы у меня длина слова могла быть сокращена), но сделать это было бы пощечиной доброй воле. Я всегда чувствовал, что Горацио - незамеченный герой Гамлета, поэтому я позаботился о том, чтобы именно он доставил интенсивный монолог Гамлету, где Гамлет должен в конечном итоге доказать, что он так же хорош, как Горацио (который представляет новую строку).
Сам код довольно прост. Все символы без Гамлета являются значениями ascii (в порядке:),
newline,space,0,2,3,B,b,E,e,O,o,T,t,V,v
а затем код представляет собой простой конечный автомат (в частности, DFA ), который переходит вScene XI
состояние принятия иScene XII
в состояние отказа.,
Сделав это, я просто подключил его к Шекспиру, используя тот факт, что я мог перейти к следующему состоянию, когда они были численно смежны. Я протестировал его только с версией Шекспира, на которую я ссылался в заголовке, но я считаю, что мы определяем язык с помощью реализации iirc.
источник
Сетчатка , 28
Вполне возможно, мой самый быстрый из всех, когда-либо код-гольф-ответ - через 9 минут после ОП.
Входные параметры разделены запятыми. Выходное значение равно 1 для правды и 0 для фальси.
Попробуйте онлайн.
источник
Pyth, 34 байта
Попробуйте онлайн: демонстрация
Объяснение:
источник
Pyth, 41 байт
Попробуй это здесь!
Простой поиск в списке. Печатает пустой список как ложное значение и непустой список как истинное значение.
Глядя или лучше, мне не очень нравится этот.
источник
Oracle SQL 11.2, 86 байт
Возвращает один ряд для правдивых и не ряд для фалси.
источник
05AB1E ,
3945 байтКод:
Попробуйте онлайн!
Использует кодировку CP-1252. Истина - это когда выводится число, а ложь - когда ничего не выводится.
Неконкурентная версия (39 байт) , работает с новейшей версией:
источник
ES6,
564845 байтСохранено 5 байтов благодаря @ user81655. Сохранено 3 байта от дальнейшей оптимизации. Сохранено еще 3 байта благодаря @Patrick Roberts.
t[wo]?o
это самое короткое регулярное выражение, которое я могу придумать, чтобы соответствовать всем трем гомофонам.Если разрешено передавать два значения в виде одного массива параметров, тогда параметр rest может стать обычным параметром, сохранив еще 5 байтов.
источник
(...a)=>/^(2|t0|t[wo]?o),b(ee?|3)?$/.test(a)
i
Флаг отсутствует.Perl 6,
4544 байтаСпасибо ребятам из IRC за помощь в игре в гольф
использование
Неконкурентная альтернатива, 54 байта
Это хорошая альтернатива вышесказанному, если вы думаете, что регулярные выражения являются грубыми, но это немного дольше. Это может быть добавлено в игру еще на пару байтов, но так как он не конкурирует, я оставлю все как есть
источник
[
и]
обозначает группу без захвата в регулярном выражении, которая будет записана как(?:
и)
в Perl 5. Чтобы получить класс символов, вы должны поместить их в угловые скобки<[
и]>
.Python 2,7, 133 байта
Не уверен, что мы должны публиковать решения, если в комментариях есть уменьшенная версия, но вот моя версия на Python.
Редактировать: без функции это всего 73 байта (и это даже не близко к лучшим ответам. Прости меня, я новичок
источник
2
(целое число)e('oo', '3')
и подобных подстрок .Рубин,
535552 байтаЯ буду честен, это моя первая попытка решить проблему в гольфе.
Вызов функции в виде
f.call(firstValue, secondValue)
0
это правда,nil
это фальсиПроверьте это здесь
источник
Japt, 36 байт
Может быть, я что-то пропустил, но это должно работать полностью. Проверьте это онлайн!
источник
Pyth, 39 байт
-3 байта @FryAmtheEggman
Попробуй это здесь .
источник
Python,
8583 байта@Manatwork спас мне два байта.
Это довольно грубая сила, я буду искать решения регулярных выражений в следующем.
источник
'2 to too two t0'.split()
для второго массива не имеет значения.'2,to,too,two,t0'.split(',')
. Я такой глупый.PowerShell v3 +,
7470 байтНе использует регулярные выражения. Принимает два ввода, проверяет, является ли первый
-in
массив массивом, который был динамически создан-split
оператором, преобразует это логическое значение в int с+
, а затем умножает это*
на проверку того, является-in
ли второй массив вторым (что будет автоматически приводить логическое значение как целое число). ). Это работает, потому что,x*y == x&y
еслиx
иy
может быть только1
или0
.PowerShell по умолчанию не учитывает регистр, поэтому мы получаем это бесплатно. Будет выходной
0
или1
для фальси / правды, соответственно. Требуется v3 или новее для-in
оператора.Редактировать - 4 байта сохранены с помощью унарного сплита
источник
Groovy, 52 байта
==~
это классный оператор регулярных выражений в groovy, который проверяет равенство.Испытания:
Тест Regex101 .
источник
x
естьt
иy
есть0b
?f('t', '0b')
что будет ложным, но я обеспокоен тем, что ваш код вернет истину.MATL , 32
4143байтаТот же подход, что и у ответа @ DigitalTrauma Retina . Входы разделяются запятой. Истинный вывод - это строка с двумя входами в нижнем регистре; Ложь не выводится.
Попробуйте онлайн!
источник
C # 6, 132 байта
Безголовая версия (только чуть более читаемая):
источник
Python 2, 67 байт
Использует регулярное выражение Digital Trauma. Ввод - это одна строка, разделенная запятой. Не уверен, что этот формат разрешен для ввода ...
источник