def visit_Subscript(self, node):
self._is_string_symbol = False
name = self.visit(node.value)
if isinstance(node.slice, (ast.Index)):
for arg in self._function_args:
if arg == ("**%s" % name):
self._is_string_symbol = True
index = self.visit(node.slice)
self._is_string_symbol = False
return "%s[%s]" % (name, index)
#return "%s%s" % (name, index)
else:
# ast.Slice
index = self.visit(node.slice)
if ',' in index:
""" [See visit_Slice]
<Python> [8, 9, 10, 11, 12, 13, 14][1:6:2]
<Ruby> [8, 9, 10, 11, 12, 13, 14][1...6].each_slice(2).map(&:first)
"""
indexs = index.split(',')
return "%s[%s].%s" % (name, indexs[0], indexs[1])
else:
return "%s[%s]" % (name, index)
评论列表
文章目录