緩い範囲の解釈
ListSharpは、多くの機能を備えたインタープリター型プログラミング言語です。これらの機能の1つは、次のように機能する1つのインデックスベースの範囲作成者です。
あなたはと範囲を定義する(INT) TO (INT)
か、単に(INT)
どこの両方または単一のintは分からに行くことができる最大のint32値
次に、これらの範囲を使用して、境界を超えることを恐れずに配列の要素を抽出できます
したがって:
1 TO 5
生成: {1,2,3,4,5}
3
生成: {3}
AND
演算子を使用して範囲を追加できます
1 TO 5 AND 3 TO 6
生成: {1,2,3,4,5,3,4,5,6}
これは負の数でも機能することを忘れないでください
3 TO -3
生成: {3,2,1,0,-1,-2,-3}
課題は次のとおりです。
入力
文字配列および文字列として以前に定義された範囲句
出力
1インデックスの要素は範囲の位置に基づいています(非既存/負のインデックスは空の文字に変換されます)
勝つ方法
コードゴルフの挑戦として、あなたは勝つために最短のバイト数でプログラムを作成することになっています
空の文字は存在しないことが指摘されているため、無視する必要があります(ここでは、わかりやすくするためだけに示しましたが、混乱させています)
テストケース:
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
これまでに入力になり、予想される出力はどうなりますか?
AND
倍数範囲をテストするにはいくつかのテストケースが必要です。また、ほとんどの言語で標準であるゼロベースのインデックス作成を使用できるかどうかは回答しませんでした。
"0 TO 2"
=>{'H', 'e', 'l'}
?