[squeak-dev] Wrong error message from BlockClosure ?

Eliot Miranda eliot.miranda at gmail.com
Thu Apr 30 12:02:50 UTC 2015


Shurley shome mishtake, hic!  The block clearly has 2 arguments and is called with one, and the print block prints "N arguments" for anything other than 1, so how does the error message come out as you report??

Eliot (phone)

On Apr 30, 2015, at 3:25 AM, karl ramberg <karlramberg at gmail.com> wrote:

> #(1 2) do:[:a :b| b] "do it"
> 
> Error: 'This block accepts 2 argument, but was called with 1 arguments.'
> 
> Should not the numArgs and the numArgsForInvocation switch place here ?
> 
> BlockClosure>>numArgsError: numArgsForInvocation
> 
> 	| printNArgs |
> 	printNArgs := [:n| n printString, ' argument', (n = 1 ifTrue: [''] ifFalse:['s'])]. 
> 	self error: 
> 			'This block accepts ', (printNArgs value: numArgs), 
> 			', but was called with ', (printNArgs value: numArgsForInvocation), '.'
> 


More information about the Squeak-dev mailing list