n x m の文字行列の座標を Python に格納するアルゴリズムがあります。例えば
a b
c d
座標と文字のペアのリストとして保存されます。
(0, 0) a (0, 1) b
(1, 0) c (1, 1) d
私のpythonコードは以下の通りです
def init_coordination(self):
list_copy = self.list[:]
row = 0
column = 0
coordination = {}
for char in list copy
if column >= self.column:
row += 1
column = 0
coordination[char] = (row, column)
column += 1
return coordination
このアルゴリズムをルビーに実装しようとしていますが、ルビーの辞書に最も近いデータ構造はハッシュであると推測しています。次のルビーコードでいくつかの提案が必要です:
def self.init_coordination
position = Hash.new("Coordination of char")
row = 0
column = 0
@list.each do |char|
if column < @column
position[row, column] = char
column = column + 1
elsif column == @column
column = 0
row = row + 1
elsif row == @row
puts position
end
end
また、Ruby でリストを表現するにはどうすればよいでしょうか。