Il tuo compito è semplice . Determinare se una stringa è uguale all'altro (non l'indirizzo, il valore) senza l'uso di operatori di uguaglianza (come ad esempio ==, ===o .equal()) o disuguaglianza ( !=, !==qualsiasi cosa) simile per le altre lingue. Questo significa ovunque! Non è possibile utilizzare questi operatori in nessuna parte del codice. Tuttavia, è possibile utilizzare le levette come se !expnon si sta confrontando direttamente exp != with something else.
Inoltre, non è possibile utilizzare alcuna funzione come strcmp , strcasecmp , ecc.
Per quanto riguarda gli operatori di confronto ( >=, <=, >, <), sono anche consentiti . Mi rendo conto che alcune risposte includono questo, ma mi piacerebbe davvero vedere più risposte che non limitano l'operatore di uguaglianza.
Viene mostrato un esempio usando PHP:
<?php
$a = 'string';
$b = 'string';
$tmp = array_unique(array($a, $b));
return -count($tmp) + 2;
Restituisci semplicemente vero o falso (o qualcosa che valuta nella lingua vero o falso come 0 o 1) per indicare se le stringhe corrispondono. Le stringhe dovrebbero essere hardcoded viste nell'esempio sopra. Le stringhe non devono essere conteggiate nel golf, quindi se dichiari prima la variabile, non contare la dichiarazione.