On 12/01/17 12:32, Henrik Nergaard wrote:
Shouldn't these two code snippets behave the same way?
#flatCollect: expects that aBlock returns a collection for each element (see 
method comment) and only flattens one level, while # flattened expands all sub 
collections it finds:
----------------------------------------------------------------
#( #(1 #(2) ) ) flatCollect: [ :x | x ]. "#(1 #(2))"
#( #(1 #(2) ) ) flattened. "#(1 2)"
----------------------------------------------------------------
Oh, ok so it's a feature :)

Ps. Using a symbol instead of a block reduces performance.
[ 1 to: 1e9 do: [ :each | each ] ] timeToRun. "0:00:00:02.463"
[ 1 to: 1e9 do: #yourself ] timeToRun. "0:00:00:11.468"
Wow, I used symbols to make the example clear but I didn't know that.
That's sad, I think it is sexier to use a symbol to do this kind of things. :(

Regards,

Julien

Reply via email to