3

我的方法

  • 获取数组元素作为带有分隔符的字符串,例如空格或逗号
  • 拆分字符串
  • 将每个元素转换为数字并压入数组

代码如下所示:

puts 'Enter array elements with a space'
array_as_string = gets 
if array_as_string.length > 0
  input_array = []
  array_as_string.split(' ').each { |x| input_array.push(x.to_i) }
else
  puts 'Invalid input'
end

是否有更好/更有效的替代方案或直接的方式来做到这一点?

4

1 回答 1

4

的默认参数split是空格。对数组中的每个元素做某事并得到一个数组作为结果的习惯用法是map.

puts "Enter array elements with a space"
array_as_string = gets
array = array_as_string.split.map(&:to_i)
于 2012-05-26T13:01:39.213 回答