`
qjklwliling
  • 浏览: 3983 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

ruby中的字面量声明

阅读更多

记得以前做JS的时候,经常使用字面量方式来声明变量,特别是在循环里面,做了RUBY以后也一直沿用这个习惯.

今天得空来测试一下

 

require "benchmark"

Benchmark.bm do |x|
  x.report("Array.new") do
    10000000.times do
      a = Array.new
    end
  end
  x.report("[]") do
    10000000.times do
      a = []
    end
  end
end

 

结果如下:

      user     system      total        real

Array.new 12.625000   0.000000  12.625000 ( 12.640000)

[] 11.281000   0.578000  11.859000 ( 11.860000)

 

做个一千万次循环,结果差了个0.8秒,可见在RUBY里面,两者性能几乎接近,采用字面量式声明略快那么一点点.

纯属无聊的一个消遣..

 

 

分享到:
评论

相关推荐

    ruby1.9.1文档和一本pdf

    此外,字符串字面量支持不同的编码格式,通过`u`、`b`等前缀指定。 2. **编码处理**:Ruby 1.9 开始强制处理字符串的编码问题,每个字符串都有自己的编码类型,这大大增强了对多语言文本的支持。`encoding`关键字可...

    Ruby基础知识之数据类型

    4. 大字符串字面量可以使用heredoc语法(如),这样可以方便地定义多行字符串,Ruby会保留字符串中的格式和换行。 字符串操作方面,Ruby支持使用“+”来连接字符串(需要将非字符串对象通过to_s方法转换),使用...

    GitHub倡导的Ruby代码编写风格总结

    2. **字符串字面量**:当字符串中不需要插值时,使用单引号`''`而非双引号`""`。 3. **实例变量连接**:在拼接包含实例变量的字符串时,避免使用`{}`,而应直接使用变量名。 4. **字符串追加**:使用`操作符代替`+`...

    自制脚本语言的LR(1)编译器与解释器

    在处理字符串时,还要考虑到字符串连接操作,例如两个相邻的字符串字面量在解析后应合并为一个。 4. **注释**:注释是程序员用来提高代码可读性的工具。LR(1)解析器需要识别不同类型的注释(如单行注释和多行注释)...

    Scala程序设计(第2版)

    19.1 一个较为激进的示例:Ruby on Rails框架中的ActiveRecord库 396 19.2 使用动态特征实现Scala 中的动态调用 397 19.3 关于DSL的一些思考 402 19.4 本章回顾与下一章提要 402 第20章 Scala的领域...

    The Swift Programming Language中文完整版.pdf

    Swift支持类型的隐式声明,同时也提供了数值型字面量的多种书写方式和类型转换的规则。布尔值和元组在Swift中也有着广泛的应用,元组可以将多个值组合成一个复合值。可选类型(Optional)是Swift语言的一个创新特性...

    ZerocICE3.6.2

    - **字面量**:解释Slice中的字面量及其用法。 ##### 1.3.8 接口、操作和异常 - **接口**:解释接口的概念以及如何在Slice中定义接口。 - **操作**:介绍如何定义接口中的操作。 - **用户异常**:解释如何定义和...

    jdk for mac 1.7下载

    7. **二进制字面量和下划线分隔**:允许使用二进制数字表示(如0b1010)以及在数字中使用下划线来提高可读性(如1_000_000)。 8. **集合工厂方法**:在集合类如ArrayList、HashSet和LinkedHashMap中添加了静态工厂...

    Ice3.6.0 手册

    - **常量和字面量**:描述了如何在Slice中声明和使用常量及字面量。 - **接口、操作与异常**: - **操作**:定义了对象能够执行的方法。 - **用户定义的异常**:描述了如何定义和处理自定义异常。 - **运行时...

    Go语言 知识点

    此外,Go语言还支持原始字符串字面量,通过反引号`…`包裹起来,可以包含任意字符而不需转义。 ##### 5. UTF-8编码 Go语言中的字符串默认使用UTF-8编码,当处理非英语字符时,这尤为重要。UTF-8编码使用1到4个字节...

    JAVA JDK 1.7

    5. **二进制字面量和下划线分隔数字**:开发者现在可以使用二进制前缀(0b/0B)来定义二进制数,并可以在数字中使用下划线(_)来提高可读性,如`int num = 0b1010_1010`。 6. **改进的switch语句**:Java 7的...

    jdk-7u80-windows-x64.zip

    6. **二进制字面量和下划线分隔数字**:Java 7允许使用二进制前缀(0b/0B)来表示二进制数字,同时也允许在长整型和浮点型数字中使用下划线(_)作为分隔符,提高了代码的可读性。 7. **文件系统API增强**:Java 7...

    JDK11(内含win版和linux版)

    3. **文本块(Text Blocks, JEP 328)**:为了解决多行字符串的繁琐处理,JDK11引入了文本块,这是一种新型的字符串字面量,可以方便地处理和展示多行文本,减少了转义字符的使用。 4. **动态类型语言支持(JEP 330...

    Csharp.2010编程参考手册

    C# 4.0允许在编译器层面指定默认的命名空间导入,使得无需在每个文件中重复声明常用的命名空间。这不仅减少了代码量,还提高了代码的可读性。 #### 4. 可选参数和参数名称 (Optional Parameters and Named ...

    atom-snippets:我的 angularjs、jade 和 coffescript 的 Atom 片段

    在CoffeeScript中,函数表达式、闭包和对象字面量等常见概念都有其独特的写法。Atom Snippets可能包含了许多常用的CoffeeScript语法糖,如类定义、函数定义、链式调用、箭头函数以及条件赋值等。有了这些片段,编写...

    网站前端总结

    - **字面量**: `{ key: value }`。 - **构造函数**: `new Object()`。 - **`Object.create` 方法**: `Object.create(obj)`。 - **操作对象**: - **查看属性**: `obj.propertyName` 或 `obj["propertyName"]`。 ...

Global site tag (gtag.js) - Google Analytics