Menafsirkan rentang longgar
ListSharp adalah bahasa pemrograman yang ditafsirkan yang memiliki banyak fitur, salah satu fitur tersebut adalah pencipta rentang berbasis 1 indeks yang berfungsi seperti ini:
Anda mendefinisikan rentang sebagai (INT) TO (INT)
atau hanya di (INT)
mana keduanya atau int tunggal dapat pergi dari nilai min ke max int32
Lalu Anda bisa menggunakan rentang itu untuk mengekstrak elemen array tanpa takut melampaui batasnya
karena itu:
1 TO 5
menghasilkan: {1,2,3,4,5}
3
menghasilkan: {3}
Kisaran dapat ditambahkan menggunakan AND
operator
1 TO 5 AND 3 TO 6
menghasilkan: {1,2,3,4,5,3,4,5,6}
ingat ini bekerja dengan angka negatif juga
3 TO -3
menghasilkan: {3,2,1,0,-1,-2,-3}
Tantangannya adalah sebagai berikut:
Memasukkan
Array karakter dan klausa rentang yang didefinisikan sebelumnya sebagai string
Keluaran
Elemen-elemen di lokasi berbasis indeks 1 rentang (indeks tidak ada / negatif menerjemahkan ke karakter kosong)
Bagaimana cara menang
Sebagai tantangan kode-golf, Anda seharusnya membuat program dengan jumlah byte terpendek untuk menang
Telah ditunjukkan bahwa karakter kosong tidak ada, oleh karena itu Anda harus mengabaikannya (saya hanya menunjukkannya di sini untuk membuatnya lebih mudah dipahami namun membingungkan orang)
Kasus uji:
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
akan menjadi input dan apa output yang diharapkan?
AND
memasukkan rentang kelipatan. Selain itu, Anda tidak menjawab jika kami dapat menggunakan pengindeksan berbasis nol, yang merupakan standar di sebagian besar bahasa.
"0 TO 2"
=>{'H', 'e', 'l'}
?