- 浏览: 51285 次
- 性别:
- 来自: 青岛
文章分类
最新评论
Symbol
在Ruby中,有一种奇怪的对象,在一个变量前加一个冒号“:”,这就是Ruby的Symbol,Symbol是Symbol类的 实例,Symbol形式上和字符串很像,但是两者却有区别,首先Symbol不是String类对象,String类的很多方法不能作用到Symbol上 面,然后一个显著的区别就是只要给定一个名字,就唯一确定了一个Symbol对象,而字符串即使是相同,也是不同的对象,怎么理解这句话,看下边的示例:
稍作解释:前三个:test或者:”test”是Symbol对象,其object_id都是86600,说明他们是同一个对象,内存中只存在一份;后三个是”test”字符串的对象,其object_id都互不相同,说明他们是三个不同的对象。
Symbol和字符串可以互相转换Symbol通过to_s方法转换成为字符串,字符串可以通过to_sym或者intern方法转换成为Symbol。
为什么要有Symbol呢?节约内存,相比String对象,Symbol占用内存较少,他存于Ruby的符号表中,并且不会出现多个的副本,可以用来做哈希表的关键字,也经常用作类中可读可写的属性(例如:attr_accessor :user)。
发表评论
-
Evaluation in Ruby
2011-12-28 15:45 1151Ruby的evaluation是一个很重要的功能,它可 ... -
Ruby的include和extend
2011-12-28 15:17 1420在ruby中基本上有三种引入module的方式 一、在 ... -
rails之 最有用的eval族方法:class_eval
2011-12-26 17:02 1295从本质上讲,class_eval(也就是module_ev ... -
alias, alias_method和alias_method_chain
2011-12-26 16:34 867本文介绍Ruby里的几个关键字。 1. alias ... -
Ruby学习笔记-Block, Proc and Lambda
2011-12-08 14:08 10481.Block: Ruby中的块就是由多行代码组成 ... -
rvm 使用 -- ruby 1.9.2 rails 3.1.2
2011-11-21 16:35 1628RVM可以管理不同的ruby,也可以管理同一个ruby下 ... -
hash 和 array 的一个用法
2011-11-01 14:21 694a=[[1,2],[3,4]] Hash[*a ... -
按位与、按位或组合
2011-10-20 18:52 1175下午 看了下 按位与、按位或组合 权限串应用 ... -
gem 降级
2011-10-09 17:21 1947gem uninstall rubygems- ... -
render vs redirect
2011-08-15 15:53 966render和redirect的区别在于: rende ... -
ruby 正则匹配非站内链接
2011-08-01 16:48 943def has_href_not_XXX?(content ... -
form_for && form_tag
2011-07-27 13:47 955<% form_for @XX, :url => ... -
好吧,就这么写了
2011-07-16 17:02 535以后写代码 就按这个思路来 先写 伪代码 再写 ... -
.nil? , .empty?, .blank? .present? 的区别
2011-04-08 17:02 3492首先这三个都是判空的。 而 .nil? 和 .empty? 是 ... -
Ruby的类
2011-03-31 11:40 955类的基本定义 class Myclass #注意类名必须是常量 ... -
private和protected在ruby和Java里的区别:
2011-03-31 10:15 10771、在不同对象实例当中的作用域不同 Java当中,不管priv ... -
java转ruby
2011-03-31 10:14 731换了新工作,开始学习ruby,干了一段时间的java,有必要停 ...
相关推荐
Symbol 条码枪 LS4208 使用手册 Symbol LS4208 是一款高性能的条码枪,广泛应用于零售、物流、医疗、制造等行业。本手册提供了 Symbol LS4208 的使用指南,帮助用户快速上手使用该设备。 1. Symbol LS4208 概述 ...
"Symbol"是摩托罗拉解决方案公司的一个品牌,主要生产工业级条形码扫描器、移动数据终端等设备,这些设备在零售、物流、医疗等领域广泛应用。"MC系列"是Symbol推出的一系列坚固型移动计算机,它们配备有各种操作系统...
"字体-Symbol-Tiger-Expert"这个主题聚焦于一种特定的字体,用于解决在Windows 7系统中因字体文件缺失而导致数学符号无法显示的问题。Symbol字体是一种特殊的符号字体,通常包含了各种数学、化学和科学符号,以及...
标题 "wps_symbol_fonts.zip" 暗示了这是一个针对WPS Office软件的补丁或资源包,专门解决在Linux操作系统环境下WPS缺少特定字体的问题。这个压缩包包含的字体文件,可能是为了确保WPS在Linux系统中能够正确显示某些...
解决 error LNK2001: unresolved external symbol 在编译VC项目时,经常会遇到error LNK2001: unresolved external symbol的错误,这个错误是由于缺少某些库文件而引起的。在这里,我们总结了三种常见的情形,并...
《深入解析openGauss Symbol:基于openGauss-3.0.0-openEuler-64bit-symbol.tar.gz》 openGauss是一个开源的关系型数据库管理系统,由华为公司主导开发,旨在提供高性能、高可用性、高安全性的企业级数据库解决方案...
《symbol-4278设置手册》是一份详尽的指南,主要针对Symbol公司的4278系列条形码扫描器的配置与操作。Symbol Technologies是条形码和无线数据通信技术领域的领导者,其产品广泛应用于零售、物流、医疗保健等众多行业...
《深入理解openGauss Symbol:探索3.0.0版本的细节》 openGauss,一个开源、高性能的关系型数据库管理系统,旨在为大数据时代提供可靠的数据存储与处理解决方案。openGauss-3.0.0-CentOS-64bit-symbol.tar.gz 文件...
SYMBOL扫描枪设置手册 一、扫描枪设置 扫描枪设置是 Symbol LS2208 条码扫描器的重要配置,以下是扫描枪设置的相关知识点: 1.1 通过键盘口与主机端口连接 * 通过扫描下面的条码来选择键盘接口的类型。 * 忽略...
"SYMBOL FACTORY 图符集" 是一个专为制作自动化方案设计的资源库,其中包含了大量的工业图符,这些图符对于理解和构建自动化系统来说至关重要。这个图符集旨在提高工作效率,帮助工程师们快速、清晰地绘制出各种控制...
Symbol(现已被Zebra Technologies收购)是一家知名的条码扫描设备制造商,其产品以其性能稳定、功能强大而著称。本篇文章将详细阐述Symbol条形码扫描器的一些常用设置,帮助用户更好地理解和操作这些设备。 1. **...
《工控图库工具symbol-factory-2.0详解及应用》 在自动化工程和工业控制领域,图形化界面的设计与构建是至关重要的。Symbol Factory 2.0是一款专为工控系统设计的图库工具,它为组态王软件提供强大的辅助功能,帮助...
### Symbol LS4278 扫描枪设置说明知识点概览 #### 一、产品概述 **Symbol LS4278**是一款高性能的手持式条形码扫描枪,由Symbol Technologies Inc.生产制造。该设备设计用于提高工作效率,并且具备优秀的可靠性和...
上一版本“Symbol EDA设备条码读码Demo”读码API命名空间为"Symbol.Barcode.Design.dll" 4. 发声API命名空间为“Symbol.Audio.dll” 5. 适合于MC50、MC3090\MC3190、MC55xx、MC7094、MC9090等设备 Email:baifucn...
《Symbol Factory 2.0 组态图库:资源缩放与应用详解》 Symbol Factory 2.0 是一款专为工控领域设计的高效组态图库软件,其核心特性在于提供丰富的图形资源,并支持用户自定义设置,如修改底色和调整资源的缩放比例...
Motorola Symbol 条码扫描枪的驱动。支持: Windows 2008 R2 Windows 2008 R2, 64bit Windows 7, 64 bit Windows 7, 32 bit Windows Vista, 32 bit Windows Vista, 64 bit Windows XP, 32 bit 使用方法: 1. 在...
《Symbol Factory:WinCC 图库增强,赋能64位系统工控应用》 在工业自动化领域,西门子的WinCC(Human Machine Interface,人机界面)是一款广泛使用的监控和数据采集系统。它允许用户通过可视化界面来控制和监控...
### 讯宝symbol DS6708使用指南 #### 一、概述 讯宝Symbol DS6708是一款高性能的手持式条码扫描器,由摩托罗拉公司生产。这款扫描器广泛应用于零售业、医疗保健、物流及制造业等多个领域。通过支持多种接口如RS-232...
### Symbol DS3408条码扫描器设置手册知识点概览 #### 一、设备概述 **Symbol DS3408条码扫描器**是一款由Symbol Technologies, Inc.(现为Zebra Technologies旗下品牌)制造的专业级条码扫描设备。该扫描器能够...
### Symbol MC1000 开发手册核心知识点解析 #### 一、版权与许可声明 在文档开头,Symbol Technologies, Inc. 对该手册进行了明确的版权保护声明,并规定了使用条款: - **版权归属**:所有版权归属于Symbol ...