My contribution to the contest: 5**6**7 This baby throws "Errno::EBADF: Bad file descriptor", which I think deserves a medal for being the least intuitive error message of 2008! And now, for the real question... Why is this being evaluated as 5**(6**7), when for instance 9/9/9 is being evaluated normally (9/9)/9=0, instead of 9/(9/9)=9? Lata!
on 19.08.2008 21:40
on 19.08.2008 21:44
On Aug 19, 2008, at 3:36 PM, Limo Driver wrote: > being evaluated normally (9/9)/9=0, instead of 9/(9/9)=9? > > Lata! Mine is fine with it: irb> 5**6**7 (irb):17: warning: in a**b, b may be too big => Infinity What ruby do you have that crashes? -Rob Rob Biedenharn http://agileconsultingllc.com Rob@AgileConsultingLLC.com
on 19.08.2008 21:48
On Aug 19, 2008, at 2:36 PM, Limo Driver wrote: > My contribution to the contest: > > 5**6**7 On 1.9, I get a number of 195,667 digits that starts 736 and ends 635. Dave
on 19.08.2008 21:53
Limo Driver <melezov@gmail.com> writes: > My contribution to the contest: > > 5**6**7 > > This baby throws "Errno::EBADF: Bad file descriptor", which I think > deserves a medal for being the least intuitive error message of 2008! Works fine for me: $ irb irb(main):001:0> 5**6**7 => 73643396061195573182045442760389697209119043099561473825102644208480 80271451222449204242010655986286553096951684440491235491489097071221600 73189280314561194164500176158310362022388644790243471934093460794441233 52773742517692136546608518658769275630499890833988104996453386858963527 .... and so on this on my locally compiled irb 0.9.5(05/04/13) on debian > And now, for the real question... > > Why is this being evaluated as 5**(6**7), when for instance 9/9/9 is > being evaluated normally (9/9)/9=0, instead of 9/(9/9)=9? What makes you think either order is the "normal" one?
on 19.08.2008 21:53
Limo Driver wrote: > Why is this being evaluated as 5**(6**7), when for instance 9/9/9 is > being evaluated normally (9/9)/9=0, instead of 9/(9/9)=9? Exponentiation has reverse precedence as compared to division, multiplication, etc.
on 19.08.2008 21:55
I've installed ruby exactly 8 minutes ago. Managed to crash it with my fifth 'Hello World' attempt. ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] It's not really about the crash, it's about the interesting operation precedence.
on 19.08.2008 21:59
It seems your kung-fu is stronger than mine. :P Fine than, try 9**9**9. Ouch.
on 19.08.2008 22:12
Well, I kindof gathered that so far :/ Now I'm just trying to poke at the "Principle of Least Astonishment".
on 19.08.2008 22:20
On Tue, Aug 19, 2008 at 12:36 PM, Limo Driver <melezov@gmail.com> wrote:> > Why is this being evaluated as 5**(6**7), when for instance 9/9/9 is > being evaluated normally (9/9)/9=0, instead of 9/(9/9)=9? Ruby follows the actual mathematical usage, where a^b^c (imagine it written in tower form) is a^(b^c). I guess this is because (a^b)^c = a^(bc), so a^(b^c) was the case that needed the compact notation martin
on 19.08.2008 23:25
In article <636f74c2-f7d1-4204-929b-db7200bb2d9c@m3g2000hsc.googlegroups.com>, Limo Driver <melezov@gmail.com> wrote: >Well, I kindof gathered that so far :/ > >Now I'm just trying to poke at the "Principle of Least Astonishment". At least it is only mild astonishment in this case. ;-) Francis
on 20.08.2008 01:15
Limo Driver wrote: > I've installed ruby exactly 8 minutes ago. > Managed to crash it with my fifth 'Hello World' attempt. > > ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] > > It's not really about the crash, it's about the interesting operation > precedence. I tried with the identical version of Ruby on WinXP and I get the "b may be too large" message. No crash.
on 20.08.2008 04:35
On Tue, Aug 19, 2008 at 9:44 PM, Dave Thomas <dave@pragprog.com> wrote: > > On Aug 19, 2008, at 2:36 PM, Limo Driver wrote: > >> My contribution to the contest: >> >> 5**6**7 > > On 1.9, I get a number of 195,667 digits that starts 736 and ends 635. ...containing 42 exactly 1922 times. R.
on 20.08.2008 11:42
On 19.08.2008, at 21:44, Dave Thomas wrote: > On Aug 19, 2008, at 2:36 PM, Limo Driver wrote: > >> My contribution to the contest: >> >> 5**6**7 > > On 1.9, I get a number of 195,667 digits that starts 736 and ends 635. Really? With 1.9 and 1.8.7, I get a number that starts with the same and ends with 625. I hope it's just a typo. $ ruby --version ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin8] $ ruby19 --version ruby 1.9.0 (2008-08-18 revision 0) [i386-darwin8.11.1] regards, Sandor Szücs
on 20.08.2008 11:53
On Wed, Aug 20, 2008 at 11:38 AM, Sandor Szücs<sandor.szuecs@fu-berlin.de> wrote: > > Really? > With 1.9 and 1.8.7, I get a number that starts with the same and ends with > 625. I hope it's just a typo. If I remember modulo calculations from school correctly it surely is a typo ;) R.
on 20.08.2008 18:39
Limo Driver wrote:
> being evaluated normally (9/9)/9=0, instead of 9/(9/9)=9?
Appears to be working fine on JRuby trunk.
- Charlie