Ein zweidimensionaler Array ist einfach nur ein Array aus Arrayelementen.
[[],[],[]] <--- wäre ein zweidimensionaler, dreielementiger Array. Möglich wäre auch die Schreibweise
array = Array.new(3) do Array.new end

Da Strings aber ebenfalls eine Art Array sind (das heißt, sie sind eine Liste aus Zeichen, die man ebenfalls über einen Index ansprechen kann) brauchst du nicht einmal einen zweidimensionalen Array dafür.

Code:
text = File.open("bla.txt") do |in| in.readlines end
#Fünfter Buchstabe der dritten Zeile:
buchstabe = text[3][5,1]
(das 1 nach der 5 heißt, dass du genau ein Zeichen aus dem String extrahieren willst).