if/else ステートメントを使用せずに、桁数の異なる数字を含む文字列を分割する方法があるかどうかを調べようとしています。そうするための完全な方法はありますか。文字列の例を次に示します。
"123456789101112131415161718192021222324252627282930"
最初に配列を 1 桁に分割し、それを分離し、9 を見つけ、9 の後の 2 つの要素ごとに組み合わせることを繰り返すことなく、1-9 と 10-30 を含む配列に分割されるようにします。
明確にするためにこれを行う現在の方法は次のとおりです。
single_digits, double_digits = [], []
string = "123456789101112131415161718192021222324252627282930".split('')
single_digits << string.slice!(0,9)
single_digits.map! {|e| e.to_i}
string.each_slice(2) {|num| double_digits << num.join.to_i}
これは私に与えるでしょう:
single_digits = [1,2,3,4,5,6,7,8,9]
double_digits = [10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]