将python字典转换为ruby数据结构

我有一个算法,它存储了python中一个由n个字符组成的矩阵的坐标。例如将python字典转换为ruby数据结构

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

我想实现这个算法红宝石,我猜测最接近ruby字典的数据结构是哈希。我需要一些建议与下面的红宝石代码:

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中的列表被称为Arrays。

arr = [] 

arr.push(0) # => [0]

arr.concat([1,2,3]) # => [0, 1, 2, 3]

arr2d = [[0,0],[0,1],[1,0],[1,1]]

还有一个Matrix type这可能是更有效,更可能有更多感兴趣的操作。

require 'matrix' 

matrix = Matrix[[0,0],[0,1],[1,0],[1,1]]

matrix[0,0] # => 0

以上是 将python字典转换为ruby数据结构 的全部内容, 来源链接: utcz.com/qa/261813.html

回到顶部