On Jan 24, 2007, at 1:46 PM, John Kopanas wrote: > On 1/24/07, Rob Biedenharn <Rob / agileconsultingllc.com> wrote: >> >> On Jan 24, 2007, at 10:52 AM, ara.t.howard / noaa.gov wrote: >> >> > On Thu, 25 Jan 2007, John Kopanas wrote: >> > >> >> I have the following: >> >> >> >> a = (y != 0) ? (x/y) : 0 >> >> >> >> There must be a sexier way of doing this! Any suggestions? >> >> >> >> On a side note... how do we do exception handling on the same line >> >> as statement? >> >> >> >> a = x/y rescue 0 >> >> >> >> That does not work but does it make sense? Is it because >> dividing by >> >> zero does not throw an exception? >> >> >> >> Thanks for your help! :-) >> >> >> > >> > works for me? >> > >> > harp:~ > ruby -e' a = 42/0 rescue 42; p a ' >> > 42 >> > >> > i think you're doing the right thing with >> > >> >> a = x/y rescue 0 >> > >> > how doesn't it work? >> > >> > regards. >> > >> > -a >> > -- >> > we can deny everything, except that we have the possibility of >> > being better. >> > simply reflect on that. >> > - the dalai lama >> >> If you're not limited to Integers: >> >> >> 1/0 >> ZeroDivisionError: divided by 0 >> from (irb):1:in `/' >> from (irb):1 >> >> 1.0/0 >> => Infinity >> >> 1/0.0 >> => Infinity >> >> 0.0/0.0 >> => NaN >> >> >> >> If either x or y are Float, then dividing by zero isn't an exception. >> >> You could force an exception if you want to get back to an Integer: >> >> >> (1.0/0).to_i >> FloatDomainError: Infinity >> from (irb):7:in `to_i' >> from (irb):7 >> >> (0.0/0.0).to_i >> FloatDomainError: NaN >> from (irb):8:in `to_i' >> from (irb):8 >> >> -Rob >> >> Rob Biedenharn http://agileconsultingllc.com >> Rob / AgileConsultingLLC.com >> > > I need to keep it as a float... that is my problemo :-(. > -- > John Kopanas > john / kopanas.com > > http://www.kopanas.com > http://www.cusec.net > http://www.soen.info Perhaps... a = x/y a = 0.0 unless a.finite? -Rob Rob Biedenharn http://agileconsultingllc.com Rob / AgileConsultingLLC.com