2 回答

TA貢獻(xiàn)1866條經(jīng)驗 獲得超5個贊
Ruby 是一個強(qiáng)大的面向?qū)ο竽_本語言(本文所用 Ruby 版本為1.8.6),在 Ruby 中 Symbol 表示“名字”,比如字符串的名字,標(biāo)識符的名字。
創(chuàng)建一個 Symbol 對象的方法是在名字或者字符串前面加上冒號:
創(chuàng)建 symbol 對象
:foo
:test
:”abc”
:”I am a boy”
你可能會問,字符串就是字符串,干嗎還有字符串的名字?這是因為在 Ruby 中字符串也是一種對象,即 String對象。無論其結(jié)構(gòu)還是操作和 Symbol 對象都是不同的。
在 Ruby 中每一個對象都有唯一的對象標(biāo)識符(Object Identifier),可以通過 object_id 方法來得到一個對象的標(biāo)識符。我們來看看 Symbol 對象和 String 對象的差別:
Ruby 對象標(biāo)識符
irb(main):001:0> puts :foo.object_id
327458
=> nil
irb(main):002:0> puts :foo.object_id
327458
=> nil
irb(main):003:0> puts :"foo".object_id
327458
=> nil
irb(main):004:0> puts "foo".object_id
24303850
=> nil
irb(main):005:0> puts "foo".object_id
24300010
=> nil
irb(main):006:0> puts "foo".object_id
24296170
=> nil
- 2 回答
- 0 關(guān)注
- 604 瀏覽
添加回答
舉報