在ruby中从stdin获取整数数组的高效/直接方式

时间:2012-05-26 12:51:22

标签: ruby arrays

我的方法

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

代码如下所示:

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

是否有更好/更有效的替代方案或直接这样做?

1 个答案:

答案 0 :(得分:4)

split的默认参数是空格。 要做的成语 与数组中的每个元素相关的东西,并获得一个数组作为结果 是map

puts "Enter array elements with a space"
array_as_string = gets
array = array_as_string.split.map(&:to_i)