Search code examples
lambdaindexingclosuressmalltalk

smalltalk: how to select the first n items from a collection


I have an collection c, I basically want to split the collection into two parts: the first n items into one list and the rest to another. Obviously, I can use do:, but is there a better way to do it?


Solution

  • I don't know about the other dialects but has this useful methods: first: last: allButFirst: allButLast:

    So you can do something like:

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