Ruby中的对象标识object_id

对象标识(ID)用来判断对象的同一性。

ary1 = []
ary2 = []
p ary1.object_id       #=> 60
p ary2.object_id       #=> 80

通过object_id判断字符串对象与符号对象是不是同一个对象。字符串对象不是同一个对象,符号对象是同一个对象。

irb(main):001:0> p "string".object_id
180
=> 180
irb(main):002:0> p :"string".object_id
298588
=> 298588
irb(main):003:0> p "string".object_id
200
=> 200
irb(main):004:0> p :"string".object_id
298588
=> 298588
irb(main):005:0>

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/rubye/1569.html

(1)
上一篇 2020年7月30日 01:15
下一篇 2020年7月31日 20:24

相关推荐

  • Ruby中符号(symbol)的深入认识

    符号(symbol)可以理解为轻量的字符串,但符号不是轻量字符串,也不是字符串。符号是对象,一般用作标示符使用。很多 Ruby 初学者都在想办法搞清楚什么是符号和怎么使用符号。 符号最好的描述是身份证。一个符号代表了它是“谁”,而不是代表了它是“什么”。 打开 irb 来看一看他…

    Ruby经验 2020年7月28日
    01.6K0
  • Rails中link_to方法的介绍

    link_to与html的<a…a/>元素是对应的。 link_to支持传统的controller/action/id路由风格,同时也支持新的RESTful路由风格。 句法: 示例1 示例2 示例3(method属性) 示例4(data属性)

    Ruby经验 2020年8月31日
    01.3K0
  • MatZ谈Ruby中的块(Block)和闭包(Closure)

    本文为采访稿。 带块的循环 Bill Venners:Ruby支持块和闭包。什么是块和闭包,如何使用? 松本行弘(Yukihiro Matsumoto):块基本上是无名的函数(nameless functions)。您可能对lambda很熟悉,来自其他语言,例如Lisp或Python。基本上,您可以将无名函数传递给另一…

    Ruby经验 2020年7月30日
    01.4K0

发表回复

登录后才能评论