分页: 1 / 1
vim repeat() 疑问 [解决]
发表于 : 2011-05-25 19:50
由 自由建客
代码: 全选
:let MyList=[{}, {}, {}, {}, {}, {}, {}]
:echo MyList
[{}, {}, {}, {}, {}, {}, {}]
:let MyList=repeat([{}], 7)
:echo MyList
[{}, {...}, {...}, {...}, {...}, {...}, {...}]
:for item in MyList
: echo len(item)
0
: endfor
0
0
0
0
0
0
两种定义方法,echo 显示结果竟然不同。
Re: vim repeat() 疑问
发表于 : 2011-05-25 20:49
由 lilydjwg
因为它们本来就是不同的。第一个定义了这么个列表,它包含七个元素,每个元素都是一个不同的字典(就像七个不同的人);第二个定义了这么个列表,它包含七个元素,每个元素都是同一个字典(就像一个人的七个不同的名字)。
我建议你看下 Python 的教程(你想学 C 也行),毕竟 VimL 太小众了,又没有入门教程。
PS: 那个显示似乎是检测循环引用之类的处理代码的 bug。
Re: vim repeat() 疑问
发表于 : 2011-05-26 16:56
由 自由建客
lilydjwg, 引用!

Re: vim repeat() 疑问
发表于 : 2011-05-26 20:56
由 lilydjwg
自由建客 写了:lilydjwg, 引用!

原来你知道这个概念。。。。