将AWS S3对象的内容映射到数组

时间:2013-04-27 04:36:04

标签: ruby-on-rails ruby amazon-s3

我有一个AWS对象,它是一个包含以下数字的文本文件,每个都在一个新行中:4 5 8 2 1 3我想通读AWS对象并将数字映射到数组并将其打印出来视图。但是,to_a方法会产生错误。我搜索了AWS documentation,但是我无处可以找到将对象内容映射到数组背后的细节。

作为参考,当我在视图中运行以下代码时,我收到以下结果:<%= @bucket.objects.first.read.inspect %>

"4\n5\n8\n2\n1\n3\n\r\n"

2 个答案:

答案 0 :(得分:1)

<%= @bucket.objects.first.read.each_line.map(&:to_i) %>

each_line读取输入的每一行。 map(&:to_i)遍历每一行并将每个字符串转换为整数,忽略任何尾随空格和换行符。

答案 1 :(得分:0)

尝试使用split:

def to_array
  read.gsub("\r", "").split("\n").map(&:to_i)
end

<%= @bucket.objects.first.to_array %>