我试图弄清楚是否有一种方法可以拆分包含不同数字大小的数字的字符串,而不必使用 if/else 语句。是否有这样做的直接方法。这是一个示例字符串:
"123456789101112131415161718192021222324252627282930"
这样它将被拆分为包含 1-9 和 10-30 的数组,而不必先将数组拆分为单个数字,将其分开,找到 9,然后迭代组合 9 之后的每 2 个元素。
这是我要澄清的当前方式:
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]