--ZGiS0Q5IWpPtfppv Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Mar 30, 2011 at 03:35:21AM +0900, Jeff Dik wrote: > Why can a floating point number be used as an array index? Anybody > know of a good use case for this? > > irb(main):020:0> [1, 2, 3][0.3] > 1 > irb(main):021:0> [1, 2, 3][0.9] > 1 I don't know about why, exactly, or about use cases (though I suppose it might just make things easier sometimes, without errors cropping up all over the place if you're working with floating point numbers a lot and are too lazy to do integer conversions yourself). How seems, from a little experimenting, to be self-evident to me: $ irb irb(main):001:0> [1,2,3][0.7] => 1 irb(main):002:0> [1,2,3][1.7] => 2 irb(main):003:0> [1,2,3][1.1] => 2 irb(main):004:0> [1,2,3][-0.1] => 1 irb(main):005:0> [1,2,3][-1.1] => 3 It looks like it just does integer truncation. -- Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ] --ZGiS0Q5IWpPtfppv Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAk2SOWIACgkQ9mn/Pj01uKVsBwCgpZw7ib2135kiX2kwHpazUekb moIAoI117pHZatIC0QXzRZo2JY9N+9in QN -----END PGP SIGNATURE----- --ZGiS0Q5IWpPtfppv--