smalltalk:如何从集合中选择前n个项目

时间:2014-04-07 13:30:52

标签: lambda indexing closures smalltalk

我有一个集合c,我基本上想要将集合分成两部分:前n个项目分成一个列表,其余部分分成另一个。显然,我可以使用do:,但是有更好的方法吗?

2 个答案:

答案 0 :(得分:5)

我不了解其他方言,但有这些有用的方法:first: last: allButFirst: allButLast:

所以你可以这样做:

firstPart := c first: 10.
secondPart := c allButFirst: 10

答案 1 :(得分:3)

您可以使用copyFrom: to:

例如:

firstTen := myCollection copyFrom: 1 to: 10.