在Pharo Smalltalk索引处拆分数组

时间:2017-07-07 01:01:35

标签: arrays oop split smalltalk pharo

我遇到了这个问题:

s = 'Smith John went to ss for Jones.'
s = 'Jones, Greg went to 2b for Smith.'
s = 'Doe went to ss for Jones.'

这是为了返回相同的列表,但分为30组30组。我不知道什么是失败的,我已经尝试了很多次调试它,但它没有&#39工作。起初我试图将其拆分为索引,但这太难了。

请帮帮我! :(

1 个答案:

答案 0 :(得分:0)

在评论之后,我想你想要像

这样的东西
split: lista by: anInteger
| groups j |

groups := OrderedCollection new.
j := 0.
lista withIndexDo: [:element :i | | group |
    i // anInteger = 0 
       ifTrue: [ group := Array new: anInteger. 
                 j := 1 ].
    group at: j put: element.
    j := j + 1.
    (j > anInteger or: [ i = lista size ]) 
       ifTrue: [groups add: group]. ].
^ groups