迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

确定 Ruby 中的对象类型

作者:迹忆客 最近更新:2023/03/21 浏览次数:

在本文中,我们将学习在 Ruby 编程语言中检查对象的类型。

在 Ruby 中使用 #class 确定实例的类名

此方法返回当前实例的类名。例如:

'string'.class
=> String
[].class
=> Array
{}.class
=> Hash
String.class
=> Class

Ruby 是一种面向对象的编程语言,其中的一切都是对象。Classes 也是 Class 类的对象。这就是 String.class 返回 Class 的原因。

在 Ruby 中使用 #class 定义类

class Human; end

alice = Human.new
alice.class

输出:

Human

在 Ruby 中使用 #is_a? 确定实例的类名

如果给定的对象是 class 的实例,则返回 true;否则,它返回 false

'string'.is_a?(String)
=> true
[].is_a?(Hash)
=> false

如果对象是任何子类的实例,#is_a 也会返回 true

考虑以下场景:

class Ape; end
class Sapiens < Ape; end
alice = Sapiens.new
alice.is_a?(Sapiens)

输出:

true

aliceSapiens,但是 alice.is_a?(Ape) 呢?

alice.is_a?(Ape)

输出:

true

令人惊讶的是,alice 也是 Ape,因为 Sapiens 的祖先数组中包含 Ape

Sapiens.ancestors
=> [Sapiens, Ape, Object, Kernel, BasicObject]

从输出中可以看出,ApeSapiens 的祖先,所以 aliceApe

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

用 Ruby 解析 XML

发布时间:2023/03/21 浏览次数:112 分类:编程语言

本文展示了如何在 Ruby 中使用 gem nokogiri 解析 XML 文件。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便