相关疑难解决方法(0)

确定ruby中对象的类型

我将使用python作为我正在寻找的示例(如果您不了解Python,可以将其视为伪代码):

>>> a = 1
>>> type(a)
<type 'int'>
Run Code Online (Sandbox Code Playgroud)

我知道在红宝石中我能做到:

1.9.3p194 :002 > 1.class
 => Fixnum 
Run Code Online (Sandbox Code Playgroud)

但这是确定对象类型的正确方法吗?

ruby types

338
推荐指数
6
解决办法
41万
查看次数

为什么浮点数不准确?

为什么有些数字在存储为浮点数时会失去准确性?

例如,十进制数9.2可以精确地表示为两个十进制整数(92/10)的比率,两者都可以用二进制(0b1011100/0b1010)精确表示.但是,存储为浮点数的相同比率永远不会完全等于9.2:

32-bit "single precision" float: 9.19999980926513671875
64-bit "double precision" float: 9.199999999999999289457264239899814128875732421875
Run Code Online (Sandbox Code Playgroud)

这样一个看似简单的数字如何在64位内存中表达"太大" ?

language-agnostic floating-point precision

181
推荐指数
4
解决办法
3万
查看次数

检查Float是否等效于Ruby中的整数值

说我有以下代码:

x = 0.8
y = 1.0
Run Code Online (Sandbox Code Playgroud)

什么是最好的检查方式y相当于Integer?目前我正在做:

y.to_int == y
Run Code Online (Sandbox Code Playgroud)

哪个有效,但我觉得应该有一个更好的方法.

ruby type-conversion

28
推荐指数
2
解决办法
1万
查看次数