#(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), '.'
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@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), '.'
Hm, I think you can forget this mail. This was yet another PEBCAK.
Karl
On Thu, Apr 30, 2015 at 2:02 PM, Eliot Miranda eliot.miranda@gmail.com wrote:
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@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), '.'
Try #groupsDo: :)
Levente
On Thu, 30 Apr 2015, karl ramberg 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), '.'
squeak-dev@lists.squeakfoundation.org