On 17 August 2011 23:45, Stéphane Ducasse <[email protected]> wrote:
> I prefer execute :)
> because evaluate looks like you don't run fast and generate possibly assembly 
> on the fly.

:)

> I stopped long time ago to use evaluate because people also think that 
> Smalltalk is slow because of that evaluation....
> silly idiots but they are out there.
>
Hehe..
Smalltalk is fast.

> Stef (Ze mass educator)
>
>
> On Aug 17, 2011, at 10:29 PM, Igor Stasenko wrote:
>
>> execute or evaluate?
>>
>>
>> On 17 August 2011 23:17, Stéphane Ducasse <[email protected]> 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.
>
>
>



-- 
Best regards,
Igor Stasenko AKA sig.

Reply via email to