`
任清宇
  • 浏览: 20470 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ruby 运算符表达式

    博客分类:
  • ruby
阅读更多

       Ruby  提供了基本的运算符集(如+, -, *, / 等等) ,也提供了及格独特的运算符.

       实际上,Ruby 中的许多运算符是由方法调用来实现的, 例如, 当你执行 a*b+c时,实际上你是请求 a 对象执行方法 * ,传入参数是 b ,然后请求返回的结果对象执行 + 方法 , 传入的参数是 c ,这等价于:

(a.*(b)).+(c) 

       因为任何东西都是对象, 而且你可以重新定义实例方法, 所以你可以重新定义任何不满足你需求的基本算术方法.

       

class Fixnum 
        alias old_plus + 
        
        def + (other)
            old_plus(other).succ
         end
end
       

 1 + 2             -> 4

 a = 3             -> 

 a += 4           -> 8

 a + a + a       ->26

       更有用的是, 你写的类可以像内建对象那样参与到运算符表达式中. 比如, 你可能想从歌曲中间剪辑一段, 这可以用搜索操作来实现.

 

分享到:
评论

相关推荐

    onibi:Onibi 是一个用 Ruby 编写的正则表达式引擎的简单实现

    鬼比Onibi 是用 Ruby 编写的正则表达式引擎的实现。用法 regexp = Onibi . new ( "namu(syaka)?" )regexp . match? ( "namusyaka" ) #=> trueregexp . match? ( "namu" ) #=> trueregexp . match? ( "namusya" ) #=>...

    精通正则表达式~~~

    Ruby测试... 238 Python测试... 238 Tcl测试... 239 常见优化措施... 240 有得必有失... 240 优化各有不同... 241 正则表达式的应用原理... 241 应用之前的优化措施... 242 通过传动装置进行优化... 246 ...

    ruby语法基础教程

    ruby语法基础教程,比较全的。 目 录 Ruby语言 1 Grant Ren 1 第一部分 Ruby语言基础 8 第一章 Ruby语言概述 8 §1.1 Ruby的历史 8 §1.2 Ruby名字的由来 8 §1.3 Ruby的特点 8 §1.4 Ruby和Python的比较 9 第二章...

    ruby 流程控制 方法

    这章我们将讨论更多的Ruby流程控制. case 我们用case语句测试有次序的条件....下面的表达式测试 i 是否在范围内: (2..5) === i case 内部也是用关系运算符 === 来同时测试几个条件.为了保持ruby的面对对象

    expression-parser:命令行 Ruby 代数方程标记器求解器

    Ruby 表达式解析器该程序计算由数字、算术运算符和括号组成的表达式的值。试一试 $ ruby main.rbEnter an expression: 2 + 2=> 4

    JavaScript权威指南(第6版)(附源码)

    第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 算术表达式 4.9 关系表达式 4.10 逻辑表达式 ...

    JavaScript权威指南(第六版) 清晰-完整

    第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 算术表达式 4.9 关系表达式 4.10 逻辑表达式 ...

    Python参考手册(第4版·修订版).[美]David M.Beazley(带详细书签)

    全书分为三个部分,首部分涉及类型与对象,运算符与表达式,程序结构与控制流,函数与函数式编程,类与面向对象编程,模块、包与分发,输入与输出,测试、调试、探查与调优等与Python语言相关的内容;第二部分涉及...

    Python参考手册(第4版)

    全书分为三个部分,首部分涉及类型与对象,运算符与表达式,程序结构与控制流,函数与函数式编程,类与面向对象编程,模块、包与分发,输入与输出,测试、调试、探查与调优等与Python语言相关的内容;第二部分涉及...

    PYTHON参考手册 第4版_修订版

    全书分为三个部分,首部分涉及类型与对象,运算符与表达式,程序结构与控制流,函数与函数式编程,类与面向对象编程,模块、包与分发,输入与输出,测试、调试、探查与调优等与Python语言相关的内容;第二部分涉及...

    JavaScript权威指南(第6版)(中文版)

    第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 算术表达式 4.9 关系表达式 4.10 逻辑表达式 ...

    JavaScript权威指南(第6版)

    第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 算术表达式 4.9 关系表达式 4.10 逻辑表达式 ...

    automatic_software_repair_eci:Ruby 自动软件修复工具原型

    在我们的原型中,我们论文中提出的一些热点实现了错误修复技术,用于比较和相等运算符,以及我们自己创建的一些其他热点,这些技术检测一些常见的 Ruby 协议,我们认为常见的错误可能源于这些协议. 由于我们假设if...

    programming-univbasics-boolean-expressions-austin-web-091619

    识别Ruby中的真值和假值 使用AND连接布尔表达式 用OR连接布尔表达式 介绍 正如我们在三元表达式中所看到的,有时我们需要从另一个表达式中获取一个布尔值( true或false )才能在另一个表达式中使用它。 在上一课中...

    programming-univbasics-boolean-expressions-chicago-web-111819

    识别Ruby中的真值和假值 使用AND连接布尔表达式 用OR连接布尔表达式 介绍 正如我们在三元表达式中所看到的,有时我们需要从另一个表达式中获取一个布尔值( true或false )才能在另一个表达式中使用它。 在上一课中...

    programming-univbasics-boolean-expressions-denver-web-111819

    识别Ruby中的真值和假值 使用AND连接布尔表达式 用OR连接布尔表达式 介绍 正如我们在三元表达式中所看到的,有时我们需要从另一个表达式中获取一个布尔值( true或false )才能在另一个表达式中使用它。 在上一课中...

    JavaScript权威指南(第6版)

    第4章 表达式和运算符 60 4.1 原始表达式 60 4.2 对象和数组的初始化表达式 61 4.3 函数定义表达式 62 4.4 属性访问表达式 63 4.5 调用表达式 64 4.6 对象创建表达式 64 4.7 运算符概述 65 4.8 算术表达式 69 4.9 ...

    JavaScript权威指南(第6版)中文文字版

    第4章 表达式和运算符 60 4.1 原始表达式 60 4.2 对象和数组的初始化表达式 61 4.3 函数定义表达式 62 4.4 属性访问表达式 63 4.5 调用表达式 64 4.6 对象创建表达式 64 4.7 运算符概述 65 4.8 算术表达式 69 4.9 ...

    Python程序员案头必备:《Python参考手册 (第4版)》(高清.书签.英文完整版)

    第4章 运算符与表达式 第5章 程序结构与控制流 第6章 函数与函数编程 第7章 类与面向对象编程 第8章 模块、包与分发 第9章 输入与输出 第10章 执行环境 第11章 测试、调试、探查与调优 第二部分 Python库 第...

Global site tag (gtag.js) - Google Analytics