分页: 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, 引用! :em20

Re: vim repeat() 疑问

发表于 : 2011-05-26 20:56
lilydjwg
自由建客 写了:lilydjwg, 引用! :em20
原来你知道这个概念。。。。