Come un paio di persone potrebbero aver notato di recente, ho in gran parte abbandonato lo sviluppo di Braingolf perché è noioso e non ispirato, e sono passato a 2Col che è un po 'più interessante e non progettato per essere un linguaggio da golf.
La caratteristica distintiva di 2Col è che ogni riga di codice deve contenere esattamente 2 caratteri, esclusa la nuova riga. Ciò significa che la lunghezza di un programma 2Col può sempre essere calcolata come 3n-1dove si ntrova il numero di righe nel programma.
Quindi ecco la mia sfida: dato il codice 2Col come una stringa, output veritiero se è un codice 2Col valido (ogni riga ha esattamente 2 caratteri ed è conforme alla 3n-1formula), e false in caso contrario.
Ingresso
L'input deve essere considerato come una singola stringa o una matrice di caratteri.
Produzione
Un valore di verità se la stringa di input è un layout valido e un valore di falsa in caso contrario.
Il codice deve essere coerente con i valori di verità / falsità che utilizza
Casi test
======
F!
$^
----
truthy
======
======
*8
+1
Sq
----
truthy
======
======
nop
xt
----
falsey
======
======
+1
+1
#^
----
falsey
======
======
<empty string>
----
falsey
======
======
ye
----
truthy
======
======
no<space>
----
falsey
======
======
test
----
falsey
======
======
puzzle
----
falsey
======
punteggio
Si tratta di code-golf quindi vince il minor numero di byte!
puzzle. Ciò renderà non valide le soluzioni che eseguono l'intera lunghezza della stringa modulo 3, quindi negate (che funziona per tutti gli attuali casi di test).
truefalsità efalseverità