On Thu, 24 Dec 2009, [email protected] wrote: > Em 24/12/2009 01:21, Levente Uzonyi < [email protected] > escreveu: > >> On Thu, 24 Dec 2009, [email protected] wrote: >> >>> Em 23/12/2009 22:51, Nicolas Cellier escreveu: >>> >>>> 2009/12/24 : >>>>> Igor, Sometimes a fallacy can be written by clever people, by >>>>> accident. If you pay attention to the line: (size := self size) >>>>> = otherCollection size ifFalse: [^false]. I all Smalltalks >>>>> [Except Pharo to what I wrote a comment in issue 1637 >>>>> http://code.google.com/p/pharo/issues/detail?id=1637] this would >>>>> return false if self be not Collection or otheCollection >>>>> isKindOf: Collection not. This happens because in these >>>>> Smalltalks Object>>size returns zero. >>>>> Not so sure. Try 1.0 size, then 1.0 at: 1.0 size in you >>>> favourite >>>> dialect. >>> Nicolas, >>> In Squeak 3.10.2-7179: >>> 1.0 size -> 2 "OK I'm surprised here" >> It's not surprising since Float is a variable word subclass of >> Number. :) >> >>> 1.0 at: 1.0 size -> 0 "this will not work anymore in Pharo because >>> indices have to be Integer in Pharo right now" >> The index is 2, so it will work. Btw, I wonder how pharo can force >> Integer indices if the vm accepts Floats too. >> > Levente, > > In fact VM _does_ _not_ accept Floats as indices. There is a hack in > Squeak code (which in fact contradicts the comment in the method) in > the #at: methods that make a conversion from Number to Integer. > > If you comment that code out you'll see the VM #at: (via the primitive) > will fail with Floats.
True, and cool, since this hack can be removed. Now I wonder why did I assume that the vm has this hack. :) Levente > > -- > Cesar Rabak > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
