Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Collection subclass: #Spacer
- instanceVariableNames: 'elements completion others generaors'
- classVariableNames: ''
- poolDictionaries: ''
- classInstanceVariableNames: ''
- klasowe:
- empty
- ^(super new) empty
- fromGenerator: generator first: fst
- | result x |
- result := self empty.
- (result elements) addLast: fst .
- x := (generator value: fst).
- [x isNil ] whileFalse: [
- (result elements) addLast: x.
- x := generator value: x.
- ].
- ^ result
- fromGenerator: generator first: fst completion: block
- | result |
- result := self fromGenerator: generator first: fst.
- result setCompletion: block.
- ^ result
- instancji:
- empty
- elements := OrderedCollection new.
- completion := nil.
- others := OrderedCollection new.
- generaors := OrderedCollection new.
- extendNodes: elems generaors: gens operation: operation
- | spacerek gen elem |
- ((gens size) <= 0) ifTrue: [
- elems do: operation.
- ] ifFalse: [
- 1 to: (elems size) do: [:i |
- elem := elems at: i.
- gen := gens at: 1.
- ((gen value ) key) ifTrue: [
- spacerek := elem | (gen value value).
- ] ifFalse: [
- spacerek := elem % (gen value value).
- ].
- 2 to: (gens size) do: [:j |
- gen := gens at: j.
- ((gen value ) key) ifTrue: [
- spacerek := spacerek | (gen value value).
- ] ifFalse: [
- spacerek := spacerek % (gen value value).
- ].
- ].
- spacerek do: operation.
- ].
- ]
- addGenerators: gens atIndex: idx
- " tu jest bÅÄ d"
- | sz generatorsArray gen direction dirIdx |
- generatorsArray := gens asArray.
- sz := generatorsArray size.
- dirIdx := others size.
- 1 to: sz do: [:i |
- gen := (generatorsArray at: i).
- direction := gen value.
- (gen key >= idx) ifTrue: [
- generaors addLast: (Association key: dirIdx value: direction ).
- ]
- ].
- % direction
- generaors addLast: (Association key: (others size) value: (Association key: false value: direction ))
- , spacer
- others addLast: spacer.
- | direction
- generaors addLast: (Association key: (others size) value: (Association key: true value: direction ))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement