Sua tarefa é simples . Determinar se uma cadeia é igual ao outro (não endereço, o valor) sem o uso de operadores de igualdade (como ==, ===ou .equal()) ou desigualdade ( !=, !==) algo semelhante para outros idiomas. Isso significa em qualquer lugar! Você não pode usar esses operadores em qualquer lugar do código. No entanto, você pode usar alternâncias como !expnão comparar diretamente o exp != with something else.
Além disso, você não pode usar funções como strcmp , strcasecmp , etc.
Tal como para os operadores de comparação ( >=, <=, >, <), eles são também anulado . Sei que algumas respostas incluem isso, mas eu realmente gostaria de ver mais respostas que não fazem fronteira com o operador de igualdade.
Um exemplo usando PHP é mostrado:
<?php
$a = 'string';
$b = 'string';
$tmp = array_unique(array($a, $b));
return -count($tmp) + 2;
Simplesmente retorne verdadeiro ou falso (ou algo que avalie no idioma como verdadeiro ou falso como 0 ou 1) para indicar se as cadeias correspondem. As strings devem ser codificadas como no exemplo acima. As seqüências de caracteres não devem ser contadas no golfe; portanto, se você declarar a variável antes da mão, não conte a declaração.