2013-04-09 89 views
0

我有類似數組的數組:陣列返回Fixnum對象,而不是字符串

[["Rosalind_0498", "AAATAAA"], ["Rosalind_2391", "AAATTTT"]]

II想獲得第一個數組的第二個元素的信我希望用array[0][1][-1]

這而不是返回'A'返回65,這可能是簡單的與紅寶石陣列做,但我不知道爲什麼會發生,有人可以指出我在正確的方向嗎?

UPDATE:

有沒有更好的辦法做到這一點,然後array[0][1][-1..-1]

+0

我使用的紅寶石1.8.7(2010-12-23 PATCHLEVEL 330)[i386- mingw32] – 2013-04-09 19:39:03

回答

3

在Ruby 1.9之前,訪問字符串char []會得到這個char的ascii值。

在紅寶石1.8只要使用此:

array[0][1][-1].chr 
+0

謝謝,我知道必須有更好的方法! – 2013-04-09 19:48:21

0

您使用的是什麼版本的紅寶石?

2.0.0p0 :001 > a = [["Rosalind_0498", "AAATAAA"], ["Rosalind_2391", "AAATTTT"]] 
=> [["Rosalind_0498", "AAATAAA"], ["Rosalind_2391", "AAATTTT"]] 
2.0.0p0 :002 > a[0][1][0] 
=> "A" 
0

你可以試試下面的:

p [["Rosalind_0498", "AAATAAA"], ["Rosalind_2391", "AAATTTT"]].flatten[1].chr #=> "A" 
+0

我很害怕,當我嘗試這個時,我得到:'NoMethodError:undefined method chr'for「AAATAAA」:String' – 2013-04-09 19:58:46

+0

你正在使用哪個版本的ruby。我正在使用Ruby 2.0.0 – 2013-04-09 20:00:39

+0

但是我可能會使用Anthony Alberto的解決方案。如果你查看我使用的Ruby 1.8.7 – 2013-04-09 20:00:45

相關問題