Archive for June 6th, 2008
ZeroDivisionError, Infinity and NaN in ruby
June 6th, 2008 •
tags: irb, ruby
irb(main):005:0> 1/0 ZeroDivisionError: divided by 0 irb(main):027:0> 1.0 / 0 => Infinity irb(main):024:0> Infinity = 1.0 / 0 => Infinity irb(main):025:0> Infinity => Infinity irb(main):026:0> Infinity == 1.0 / 0 => true irb(main):006:0> 0/0 ZeroDivisionError: divided by 0 irb(main):001:0> 0.0 / 0 => NaN irb(main):028:0> 1.0 % 0 => NaN irb(main):020:0> NaN = 0.0 / 0 => NaN irb(main):021:0> NaN => NaN irb(main):022:0> NaN == 0.0 / 0 => false irb(main):003:0> result = 0.0 / 0 => NaN irb(main):004:0> result.nan? # only available on Float => true
checking the return code of ruby system calls
June 6th, 2008 •
tags: irb, ruby
irb(main):001:0> success = system 'pwd' /Users/snusnu => true irb(main):002:0> if success && $?.exitstatus == 0 irb(main):003:1> :success irb(main):004:1> else irb(main):005:1* :failure irb(main):006:1> end => :success