execute or evaluate? On 17 August 2011 23:17, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
I wrote
cull: anArg     "Execute the receiver with one or zero argument.
    [ 1 + 2 ] cull: 5         returns 3     [ :x | 1+ 2 + x] cull: 5         returns 8     "     ^numArgs = 0         ifTrue: [self value]         ifFalse: [self value: anArg]
cull: firstArg cull: secondArg     "Execute the receiver with two or less arguments.
    [ 1 + 2 ] cull: 5 cull: 6         returns 3     [ :x | 1+ 2 + x] cull: 5         returns 8     [ :x | 1+ 2 + x] cull: 5 cull: 3         returns 8     [ :x : y | 1+ y + x] cull: 5 cull: 2         returns 8     "     ^numArgs < 2         ifTrue: [self cull: firstArg]         ifFalse: [self value: firstArg value: secondArg]
cull: firstArg cull: secondArg cull: thirdArg     "Execute the receiver with three or less arguments. Check cull:cull: for examples"
    ^numArgs < 3         ifTrue: [self cull: firstArg cull: secondArg]         ifFalse: [self value: firstArg value: secondArg value: thirdArg]
cull: firstArg cull: secondArg cull: thirdArg cull: fourthArg     "Execute the receiver with four or less arguments. Check cull:cull: for examples"     ^numArgs < 4         ifTrue: [self cull: firstArg cull: secondArg cull: thirdArg]         ifFalse: [self value: firstArg value: secondArg value: thirdArg value: fourthArg]
Will add a bug entry
Stef
-- Best regards, Igor Stasenko AKA sig.