Hi, I haven't run your code, but I guess that the validation of the number of arguments of the block is failing. The block [ 42 ] is a block with zero arguments, but when you do a value: 20, you are calling it with one argument. So it fails.
Happy Coding! Santiago Dandois El dom., 5 ene. 2020 a las 13:08, xap (<x...@router.33mail.com>) escribió: > hi, I'm starting out w/ pharo (as my first smalltalk-ish language). am on > Windows 7 professional; downloaded 64-bit, pharo 8 64-bit development; then > downgraded to pharo 7, 32-bit stable. > I went through Prof Stef, and find 1 place of unexpected behavior: > > Prof Stef/Conditionals: > > "no surprises, prints 100" > 1 < 2 > ifTrue: [100] > ifFalse: [42]. > > "i added a, as below, and get an error -- i would've expected a to refer to > the block, and to be evaluable later, similar to the just prior example in > ProfStef/Block assignation" > > |a| > a := 1 < 2 > ifTrue: [:x|x+1] > ifFalse: [42]. > a value: 20. > > What am I missing, pls? > > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html > >