2009-09-26 28 views
1

我的代碼如下所示:訪問載體麻煩的數組

a = IO.readlines("input.txt").map { |line| Vector.[](line.split) } 

現在,我想我的一個陣列中訪問的第一向量的一個組成部分。我寫了下面,以解決矢量:

puts a[0] 

的行爲非常期待 - 我收到以下:

Vector[1.2357, 2.1742, -5.4834, -2.0735] 

現在讓我們來嘗試解決單個組件是這樣的:

puts a[0][0] 

,瞧,我收到的所有矢量組件的列表,如:

1.2357 
2.1742 
-5.4834 
-2.0735 

怎麼回事?也許最後一次嘗試是錯誤的?如何正確地解決數組中的向量中的標量問題?

+1

注意,變量是包含一個向量數組,行嗎?嘗試把a.inspect – khelll 2009-09-26 11:29:36

+0

你讓我注意到,在Vector構造函數中,我不需要鏈接到數組(帶*符號),但實際的數組。那是個錯誤。在這裏發佈一個簡單的答案,所以我可以接受它:) – gmile 2009-09-26 11:55:13

回答

3

由於你的代碼,我認爲陣列結構應該是:

a = IO.readlines("input.txt").map { |line| Vector[*line.split] }