• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > 详解Ruby当中的算数运算

详解Ruby当中的算数运算

作者:goldensun 字体:[增加 减小] 来源:互联网

goldensun 通过本文主要向大家介绍了ruby,ruby碧玺,ruby woo口红,mac ruby woo口红,ruby教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

 Ruby支持一系列丰富的运算符的一个现代化的语言。大多数运算符实际上是方法调用。例如,a + b的被解释为a,
+(b)变量引用的对象的方法被称为一个用b作为它的参数。

对于每个运算符 (+ - * / % ** & | ^ << >> && ||), 有相应的赋值运算符缩写形式 (+= -= 等)
Ruby算术运算符:

假设变量a=10,变量b=20:

201551292317953.jpg (586×414)

 Ruby比较操作符:

假设变量a=10,变量b=20:

201551292359303.png (586×898)

 Ruby赋值运算符:

假设变量a=10,变量b=20:

201551292426433.png (573×809)

 Ruby并行赋值:

Ruby还支持并行赋值的变量。这使得多个一行Ruby代码来初始化变量。例如:

a = 10
b = 20
c = 30

</div>

需要更迅速声明,使用并行赋值:

a, b, c = 10, 20, 30

</div>

并行赋值交换两个变量的值也是有用的:

a, b = b, c

</div>

Ruby位运算符:

位运算符位和位操作执行位。

假设当a =60和b=13;现在以二进制格式将如下:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

</div>

支持Ruby语言的位运算符

201551292459659.jpg (583×540)

 Ruby逻辑运算符:

支持Ruby语言的逻辑运算符

假设变量a=10,变量b=20:

201551292600791.jpg (592×612)

 Ruby三元运算符:

还有一个运算符称为三元运算符。这首先计算一个表达式为true或false值,然后执行一个计算结果来决定两个语句的哪一个。条件运算符的语法如下:

201551292637298.jpg (601×134)

 Ruby范围运算符:

Ruby中的序列范围是用来创建连续值 - 组成了开始值/结束值,并在两者之间的值的范围内。

在Ruby中,创建这些序列使用“..”和“...”范围运算符。这两个点的形式建立一个包容性的范围,而三个点的形式创建了一个范围,不包括指定的最大值。

201551292848887.jpg (610×190)

 Ruby defined? 操作符:

defined是一个特殊的操作符采取的形式的方法调用,以确定是否通过表达式定义。如果没有被定义的表达式,它返回一个描述字符串求解出的表达式或nil

有很多种用法 defined操作符:
用法 1

defined? variable # True if variable is initialized

</div>

例如 :

foo = 42
defined? foo  # => "local-variable"
defined? $_   # => "global-variable"
defined? bar  # => nil (undefined)

</div>

用法 2

defined? method_call # True if a method is defined

</div>

例如 :

defined? puts    # => "method"
defined? puts(bar)  # => nil (bar is not defined here)
defined? unpack   # => nil (not defined here)

</div>

用法 3

# True if a method exists that can be called with super user
defined? super

</div>

例如 :

defined? super   # => "super" (if it can be called)
defined? super   # => nil (if it cannot be)

</div>

用法 4

defined? yield  # True if a code block has been passed

</div>

例如 :

defined? yield  # => "yield" (if there is a block passed)
defined? yield  # => nil (if there is no block)

</div>

Ruby "." 双冒号 "::" 运算符:

调用一个模块方法,通过模块的名称和句点它的名字前,引用一个常数使用该模块的名称和两个冒号。
::使得一元运算符,常数,实例方法和类方法在类或模块定义,从任何地方访问外的类或模块。
请记住:在Ruby中,类和方法可以被视为常数。只需要前缀::Const_name的表达式返回相应的类或模块对象。
如果没有前缀表达式时,主要对象类默认情况下使用。
这里有两个例子:

MR_COUNT = 0    # constant defined on main Object class
module Foo
 MR_COUNT = 0
 ::MR_COUNT = 1  # set global count to 1
 MR_COUNT = 2   # set local count to 2
end
puts MR_COUNT    # this is the global constant
puts Foo::MR_COUNT # this is the local "Foo" constant

Second Example:

CONST = ' out there'
class Inside_one
  CONST = proc {' in there'}
  def where_is_my_CONST
   ::CONST + ' inside one'
  end
end
class Inside_two
  CONST = ' inside two'
  def where_is_my_CONST
   CONST
  end
end
puts Inside_one.new.where_is_my_CONST
puts Inside_two.new.where_is_my_CONST
puts Object::CONST + Inside_two::CONST
puts Inside_two::CONST + CONST
puts Inside_one::CONST
puts Inside_one::CONST.call + Inside_two::CONST

</div>

Ruby运算符优先级

下表列出了所有运算符从最高优先级到最低。

201551293021971.jpg (589×741)

注: 方法列一个是运算符实际上是方法,因此可能会被改写。

</div>

您可能想查找下面的文章:

  • ruby迭代map的简洁写法实现原理分析
  • Ruby中访问SQL Server数据库的配置实例
  • ruby声明式语法的实现例子
  • Ruby中的Range对象学习笔记
  • Ruby中的String对象学习笔记
  • Ruby的基本语法学习总结
  • Ruby中的方法(函数)学习总结
  • Ruby中的变量学习总结
  • Ruby数组(Array)学习笔记
  • Ruby和元编程之万物皆为对象

相关文章

  • 深入理解Ruby中的block概念
  • 简要说明Ruby中的迭代器
  • 实例讲解Ruby中的钩子方法及对方法调用添加钩子
  • Ruby on Rails下的图像处理入门教程
  • 详解Ruby中的方法概念
  • 在Ruby中利用Net::SMTP类发送电子邮件的教程
  • 几个加速Ruby on Rails的编程技巧
  • ruby使用restclient上传服务器本地文件示例
  • 浅析Ruby中的DATA对象
  • Ruby元编程小结

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • ruby ftp封装实例详解
    • Ruby实现的最优二叉查找树算法
    • Ruby中的String对象学习笔记
    • Ruby on Rails中的ActiveResource使用详解
    • ruby、javascript、php中的观察者模式实现代码
    • ruby 简单例子
    • Ruby on Rails中Rack中间件的基础学习教程
    • Ruby在cmd下中文显示乱码以及不支持OpenSSL的问题解决
    • ruby的程序结构介绍
    • ruby实现的文件自删除代码分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有