整数方法之间的Ruby差异

时间:2009-05-10 19:35:00

标签: ruby methods integer

之间有什么区别
10.6.to_i

10.6.to_int

2 个答案:

答案 0 :(得分:6)

这是特别解释here

首先,to_i或to_int都不是要做比另一个更好的事情。一般来说,这两种方法的实施方式并没有多大区别,只是它们与外界宣布的内容不同。 to_int方法通常与条件表达式一起使用,应该通过以下方式理解:“这个对象在任何时候都可以被视为一个真正的整数吗?”

to_i方法通常用于进行实际转换,应该理解为:“请给我这个对象最准确的整数表示”

例如,

String是一个实现to_i但不实现to_int的类。这是有道理的,因为字符串本身不能被视为整数。但是,在某些情况下,它可以以整数形式表示。如果我们写x =“123”,我们可以很好地执行x.to_i并继续使用生成的Fixnum实例。但它只能起作用,因为x中的字符可以转换为数值。如果我们写了怎么办:x =“外面的马很有趣”?没错,字符串不能一直被视为整数。

答案 1 :(得分:-2)

没有区别。它们是同义词。