`
oliver_peng
  • 浏览: 44518 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Ruby 1.9 % 操作符对于nil会抛异常

    博客分类:
  • Ruby
阅读更多
Ruby 1.9 测试:

# irb
irb(main):001:0> "%d" % nil
TypeError: can't convert nil into Integer
        from (irb):1:in `%'
        from (irb):1
        from /bin/irb:12:in `<main>'

Ruby 1.8 不会抛出异常,默认会转换成0:

irb
irb(main):001:0> "%d" % nil
=> "0"
分享到:
评论

相关推荐

    ruby1.9.1文档和一本pdf

    3. **块和 Proc 对象**:Ruby 1.9 中,块可以显式赋值给 Proc 对象,使用`&`操作符,这使得块可以作为参数传递,也可以存储和稍后调用。 4. **模块命名空间**:引入了`Module#using`方法,允许将模块的定义导入到...

    Ruby编程语言

    在对Ruby进行了简要的综述之后,《Ruby编程语言》详细介绍了以下内容:Ruby的句法和语法结构,数据结构和对象,表达式和操作符,语句和控制结构,方法、proc、lambda和闭包,反射和元编程,Ruby平台。本书还包含对...

    ruby语法

    # 可能会抛出异常的代码 rescue SomeException =&gt; e # 处理特定异常 else # 没有发生异常时的代码 ensure # 无论是否发生异常都要执行的代码 end ``` 9. **符号(Symbol)**: 符号是不可变的字符串引用,...

    Ruby-Ruby技巧惯用Ruby重构和最佳实践

    Proc不检查参数数量,而Lambda会抛出异常。 4. 方法引荐(Method Aliasing):`alias_method`可以创建方法别名,如`alias_method :new_method, :old_method`。 5. 符号到方法转换(Symbol to Proc):`&`操作符...

    .一步一步学RUBY

    - **表达式与操作符**:Ruby允许字符串等类型的乘法操作,进一步体现了其对多种数据类型的支持和灵活处理能力。 - **方法与赋值**:Ruby允许定义自定义方法,甚至可以在现有类的基础上添加新方法,支持多重返回值。 ...

    ruby-2.3.3tar.gz

    3. **Syntax for Proc and Lambda (Proc和Lambda的语法)**:引入了`-&gt;`箭头操作符,可以更简洁地定义Proc和Lambda,如`-&gt;(a, b) { a + b }`。 4. **Safe Navigation Operator (安全导航运算符)**:`&.`用于调用可能...

    详解Ruby当中的算数运算

    `操作符用于检查某个表达式是否已定义。它可以用来检测变量、方法、`super`调用或`yield`是否存在。例如,`defined? foo`会返回"local-variable"如果foo已被初始化,否则返回`nil`。 最后,双冒号`::`运算符允许...

    ruby 标准库

    ### Ruby标准库详解 #### 一、Array 类 在Ruby的标准库中,`Array`类提供了丰富的实例方法和类方法来处理数组。 ##### 1.1 Class methods **1.1.1 []** 用于创建一个新的数组。例如: ```ruby arr = [1, 2, 3]...

    ruby-2.5.8.tar.gz

    - **动态类型**:变量无需预先声明类型,Ruby会自动根据赋值确定类型。 - **块和闭包**:Ruby支持块(用`do..end`或`{..}`定义)和闭包(lambda或Proc对象),使得函数式编程风格得以实现。 - **元编程**:Ruby...

    Ruby 基础语法 视频教程1

    - 在Ruby中,未初始化的变量默认为`nil`,这意味着它们没有值。 - 不同类型的变量有各自的命名空间,不会互相冲突。 3. 表达式(Expressions): - **Ruby中的每一个语句都是一个表达式**,可以产生一个值。例如...

    Ruby从入门到精通pdf

    - Ruby on Rails是Ruby最著名的Web开发框架,它遵循MVC架构,提供了许多开箱即用的功能,如ActiveRecord数据库操作、路由、 erb模板等。 8. **标准库与Gem**: - Ruby的标准库包含许多内置模块和类,可以满足大...

    Ruby的25个编程细节(技巧、实用代码段)

    在Ruby中,`try` 方法是一个非常有用的功能,它允许我们安全地访问对象的方法或属性,即使该对象为 `nil` 也不会抛出异常。相反,如果没有找到对象或者对象为 `nil`,`try` 会返回 `nil`。 **示例代码:** ```ruby ...

    Ruby-geoip搜索GeoIP数据库对于一个给定的主机或IP地址并返回IP地址分配的国家城市ISP和其他信息

    6. **错误处理**:对于无效的IP地址,geoip库会返回nil,因此在使用时需要进行适当的错误处理。 通过深入理解并使用这个Ruby-geoip库,开发者可以方便地实现基于IP地址的地理位置识别,为应用程序添加更多实用功能...

    lua-cjson decode中null改成nil

    在Lua-CJSON库的默认配置下,当JSON字符串中的`null`被解码时,它会被转换为Lua中的`nil`。 `lua-cjson decode中null改成nil`这个话题,实际上是指在使用lua-cjson库进行JSON解码时,用户可能希望保留原始JSON数据...

    ruby-2.3.7.tar.gz

    解压`ruby-2.3.7`后,你会看到一个包含多个文件和目录的结构,其中包括源代码、文档、配置文件和测试。要构建和安装 Ruby,你需要遵循以下步骤: 1. **预安装依赖**:确保你的系统已经安装了编译环境所需的库,如 `...

    Ruby Sheet.pdf

    Ruby提供了一系列预定义变量来帮助开发者在编程过程中更高效地操作数据或环境配置。下面列出了一些常用的预定义变量: - **$!**:异常信息。当程序执行遇到异常时,该变量会包含具体的异常信息。 - **$@**:回溯...

    Ruby语言中文教程(附源码)

    3. 继承:通过`操作符实现类之间的继承,一个类可以继承多个父类,实现多继承。 4. 模块:模块用于代码复用和封装,可以通过`include`或`extend`导入到类中。 三、块、迭代器与闭包 1. 块:Ruby中的块是以`do..end`...

    ruby-ruby的json实现-优质项目.zip

    在解析JSON时,如果遇到无效的JSON格式,`JSON.parse`会抛出`JSON::ParserError`。因此,应当在解析时捕获这个异常以提供适当的错误处理。 8. **编码设置** 如果需要处理非ASCII字符,可以设置`JSON.default_...

    Ruby tutorial

    Ruby使用分号和换行符来表示语句的结束,但是如果一行的末尾出现如加号、减号或反斜杠这样的操作符,则意味着语句将继续到下一行。标识符在Ruby中用于表示变量、常量和方法,且Ruby中的标识符是区分大小写的,因此...

Global site tag (gtag.js) - Google Analytics