Post

关于Ruby中`0`除以浮点数的坑

Ruby中用0除以整数时解释器会丢出ZeroDivisionError的错误。

这没有问题,很符合我们的直觉。

1
2
3
4
5
irb(main):001:0> 114154/0
Traceback (most recent call last):
	1: from(irb):1 ……
ZeroDivisionError (divided by 0)

但用0除以浮点数时情况就不一样了。

1
2
irb(main):002:0> 1.1/0
=> Infinity

解释器没有抛出error,反而返回了Infinity

顺带一提,在JS中0除以任何数都返回Infinity

而在Python中则会抛出ZeroDivisionError: float division by zero

This post is licensed under CC BY 4.0 by the author.

Trending Tags