@@ -107,7 +107,8 @@ def initialize(evolvable_type:,
107
107
self . selection = selection if selection
108
108
self . combination = combination if combination
109
109
self . mutation = mutation if mutation
110
- @evolvables = new_evolvables ( count : @size - evolvables . count , evolvables : evolvables )
110
+ self . evolvables = evolvables || [ ]
111
+ new_evolvables ( count : @size - evolvables . count )
111
112
end
112
113
113
114
#
@@ -256,17 +257,16 @@ def new_evolvable(genome: nil)
256
257
# Creates multiple new evolvable instances.
257
258
#
258
259
# @param count [Integer] The number of evolvables to create
259
- # @param evolvables [Array<Evolvable>, nil] Optional existing evolvables to include
260
- # @return [Array<Evolvable>] The collection of evolvables
260
+ # @return [Array<Evolvable>] The newly created evolvables
261
261
#
262
- def new_evolvables ( count :, evolvables : nil )
263
- evolvables ||= @evolvables || [ ]
264
- @evolvables = evolvables
265
-
262
+ def new_evolvables ( count :)
266
263
if parent_evolvables . empty?
267
264
Array . new ( count ) { new_evolvable ( genome : new_genome ) }
268
265
else
269
- @evolvables = generate_evolvables ( count )
266
+ evolvables = generate_evolvables ( count )
267
+ @evolvables ||= [ ]
268
+ @evolvables . concat evolvables
269
+ evolvables
270
270
end
271
271
end
272
272
0 commit comments