gpt4 book ai didi

ruby - 确定ruby中对象的类型

转载 作者:数据小太阳 更新时间:2023-10-29 06:16:18 24 4
gpt4 key购买 nike

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

>>> a = 1
>>> type(a)
<type 'int'>

我知道在 ruby​​ 中我可以做到:

1.9.3p194 :002 > 1.class
=> Fixnum

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

最佳答案

确定对象“类型”的正确方法是调用 object.class

由于类可以从其他类继承,如果您想确定一个对象是否“属于特定类型”,您可以调用 object.is_a?(ClassName) 来查看 object ClassName 类型或派生自它。

Ruby 中通常不进行类型检查,而是根据对象响应特定方法的能力来评估对象,通常称为“Duck typing”。换句话说,如果它响应您想要的方法,就没有理由特别注意类型。

例如,object.is_a?(String) 过于死板,因为另一个类可能会实现将其转换为字符串的方法,或者使其行为与 String 的行为相同。 object.respond_to?(:to_s) 将是一种更好的方法来测试所讨论的对象是否执行您想要的操作。

关于ruby - 确定ruby中对象的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15769739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com