2013-04-27 262 views
0

我有一個AWS對象,它是一個文本文件,其中包含以下數字,每個都在新行中:4 5 8 2 1 3我想通讀AWS對象並將數字映射到陣列並在視圖中打印出來。但是,to_a方法會產生錯誤。我已經通過AWS documentation進行了搜索,但無處可查找將對象內容映射到數組後的詳細信息。將AWS S3對象的內容映射到數組

作爲參考,當我跑在我看來,下面的代碼我收到下面的結果:<%= @bucket.objects.first.read.inspect %>

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

回答

0

嘗試採用分體式:

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

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

這給出了以下結果:'[「4」,「5」,「8」,「2」,「1」,「3」,「\ r」]' - 這是一個字符串數組?我需要一個整數數組 – Anconia 2013-04-27 04:51:32

+0

我已經更新了我的答案。 – 2013-04-27 04:54:07

+0

賓果!謝謝! – Anconia 2013-04-27 05:01:38

1

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

each_line讀輸入的每一行。 map(&:to_i)遍歷每行並將每個字符串轉換爲整數,忽略任何尾隨的空白和換行符。

+0

'lines'拋出一個錯誤:未定義的方法'行'爲# Anconia 2013-04-27 12:43:00

+0

更正,謝謝 – davogones 2013-04-27 18:40:03

+0

太棒了,謝謝! – Anconia 2013-04-27 19:13:26