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' ANDoperatore
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 3mai un input e qual è l'output previsto?
ANDintervalli 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'}?