Interpretazione di intervalli liberi
ListSharp è un linguaggio di programmazione interpretato che ha molte funzionalità, una di queste è un creatore di intervalli basato su 1 indice che funziona in questo modo:
Definisci un intervallo come (INT) TO (INT)
o solo (INT)
dove entrambi o il singolo int possono andare dal valore minimo al massimo int32
Quindi puoi usare quegli intervalli per estrarre elementi di un array senza temere di oltrepassare i suoi limiti
perciò:
1 TO 5
genera: {1,2,3,4,5}
3
genera: {3}
Gli intervalli possono essere aggiunti utilizzando l' AND
operatore
1 TO 5 AND 3 TO 6
genera: {1,2,3,4,5,3,4,5,6}
ricorda che funziona anche con numeri negativi
3 TO -3
genera: {3,2,1,0,-1,-2,-3}
La sfida è la seguente:
Ingresso
Un array di caratteri e la clausola range precedentemente definita come stringa
Produzione
Gli elementi in 1 posizioni basate sull'indice dell'intervallo (gli indici non esistenti / negativi si traducono in un carattere vuoto)
Come vincere
Come sfida al code-golf dovresti creare il programma con il numero di byte più breve per vincere
È stato sottolineato che non esistono caratteri vuoti, quindi dovresti ignorarli (li ho mostrati solo qui per renderlo più facile da capire ma confondeva le persone)
Casi test:
input array is:
{'H','e','l','l','o',' ','W','o','r','l','d'}
range clause:
"1 TO 3" => "Hel"
"5" => "o"
"-10 TO 10" => "Hello Worl"
"0 AND 2 AND 4" => "el"
"8 TO 3" => "oW oll"
"-300 AND 300" => ""
"1 TO 3 AND 3 TO 1" => "HelleH"
"-20 TO 0 AND 1 AND 4" => "Hl"
3 TO 3
mai un input e qual è l'output previsto?
AND
intervalli multipli. Inoltre, non hai risposto se possiamo utilizzare l'indicizzazione in base zero, che è standard nella maggior parte delle lingue.
"0 TO 2"
=>{'H', 'e', 'l'}
?