【问题标题】:smalltalk: how to select the first n items from a collectionsmalltalk:如何从集合中选择前 n 个项目
【发布时间】:2014-04-07 13:30:52
【问题描述】:

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

【问题讨论】:

    标签: lambda indexing closures smalltalk


    【解决方案1】:

    我不知道其他方言,但 有这个有用的方法:first:last:allButFirst:allButLast:

    所以你可以这样做:

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

    【讨论】:

      【解决方案2】:

      您可以使用copyFrom: to:

      例如:

      firstTen := myCollection copyFrom: 1 to: 10.
      

      【讨论】:

      • 你甚至可以使用:firstTen := myCollection first: 10.
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      相关资源
      最近更新 更多