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. -- Cesar Rabak _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
