关于ruby中符号和字符串的区别

关于ruby中符号和字符串的区别


哆啦的时光机
浏览 553回答 2
2回答

心有法竹

Ruby 是一个强大的面向对象脚本语言(本文所用 Ruby 版本为1.8.6),在 Ruby 中 Symbol 表示“名字”,比如字符串的名字,标识符的名字。创建一个 Symbol 对象的方法是在名字或者字符串前面加上冒号:创建 symbol 对象:foo:test:”abc”:”I am a boy”你可能会问,字符串就是字符串,干吗还有字符串的名字?这是因为在 Ruby 中字符串也是一种对象,即 String对象。无论其结构还是操作和 Symbol 对象都是不同的。在 Ruby 中每一个对象都有唯一的对象标识符(Object Identifier),可以通过 object_id 方法来得到一个对象的标识符。我们来看看 Symbol 对象和 String 对象的差别:Ruby 对象标识符irb(main):001:0> puts :foo.object_id327458=> nilirb(main):002:0> puts :foo.object_id327458=> nilirb(main):003:0> puts :"foo".object_id327458=> nilirb(main):004:0> puts "foo".object_id24303850=> nilirb(main):005:0> puts "foo".object_id24300010=> nilirb(main):006:0> puts "foo".object_id24296170=> nil
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby