`

娃娃鸭学Ruby-24、操作符

阅读更多
操作符

在Ruby语言中,一个操作符是一个标记。
操作数本身是表达式

操作符的元数  指它的操作数的个数
操作符的优先级

多个同样优先级的操作符,求值顺序由操作符的结合性来决定。
结合性  “L" 表示 从左到右进行求值
           ”R" 表示 从右到左进行求值
           "N"表示  不具有结合性

大多数算术操作符都是左结合的。
求幂操作是右结合的。


1)一元+和一元-
一元-比一元+优先级略低
对应方法名:-@ 和 +@

2)求幂操作**

3)算术操作符: + - * / %

String类 +  :连接操作
            *  :字符串重复操作

4)移位和追加操作符:<< 和 >>
(0b1011<<1).to_s(2) # => "10110"
(ob10110>>2).to_s(2) #=>"101"

5)补,并,交操作符:~ ,& ,| 及^

6)比较操作符: <, <=,> ,>= 和<=>
<=>
  左操作数小于右操作数  返回 -1
              大于                       1
              相等                       0
              不能比较                nil
7)相等性操作符:==,!=,=~,!~和===

8)布尔操作符:&&,||,! ,and,or,not
短路式的

9)范围和Flip-Flops: .. 和...
x+1..x*x
x..y
或 Range.new(x,y)
x...y
或Range.new(x,y,true)

flip-flop
(1..10).each{|x| print x if x==3..x==5}

#prints "3"
(1..10).each{|x| printx if x==3..x>=3}
#prints "34"
(1..10).each{|x| print x if x==3..x>=3}


10) 条件操作符: ?:
唯一的三元操作
?:
第一个操作数的值是 false 或nil  执行第三个操作数

"You have #{n} #{n==1 ? 'message' : 'messages'}"
?:优先级相当低

11)赋值操作符
x=y=z=0
x=(y=(z=0))

12) defined? 操作符
测试操作数是否已经被定义过
#compute f(x) ,but only if f and x are both defined
y=f(x) if defined? f(x)

13)语句修饰符
  rescue 
  if
unless
while
until

print x if x

14)非操作符
()
[]
{}
.和::
;、,和=>
:
*,&和<

2011-4-15 15:42 danny


分享到:
评论

相关推荐

    ruby-debug-ide

    ruby-debug-ide是一个基于ruby-debug的库,它将调试功能暴露给IDE,使得开发者可以在图形化的环境中进行调试操作,如设置断点、查看变量值、单步执行等。ruby-debug-ide支持多种IDE,如NetBeans、RubyMine、Eclipse...

    src-oepkgs/ruby-ruby2ruby

    src-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2...

    ruby-oracle相关的数据库操作的gems包

    标题提到的"ruby-oracle相关的数据库操作的gems包"是指一组用于连接和交互Oracle数据库的Ruby库。描述中指出,这些包主要基于oci8技术,oci8是Oracle公司提供的一个C接口,允许其他编程语言,如Ruby,与Oracle数据库...

    ruby-1.8.7-p302.tar.gz

    Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。...该版本为ruby-1.8.7-p302

    hw-ruby-intro.zip_SaaS软件工程_hw-ruby-intro_ruby _ruby 中文_saas

    在本压缩包“hw-ruby-intro.zip”中,我们主要关注的是RUBY语言在SaaS(Software as a Service)软件工程中的应用。这个压缩包包含了一份名为“hw-ruby-intro”的作业代码,它是针对高级软件工程课程的,特别强调了...

    ruby-irb-1.8.7.352-13.el6.x86_64.rpm

    ruby-irb-1.8.7.352-13.el6.x86_64.rpm ruby-irb-1.8.7.352-13.el6.x86_64.rpm

    ruby-runtime手动插件.zip

    该压缩包文件 "ruby-runtime.hpi" 是 Jenkins 插件的标准格式,扩展名为 ".hpi"(Jenkins Plugin Installable Unit)。HPI 文件可以直接上传到 Jenkins 管理界面的“管理插件”部分进行安装。安装完成后,你可以在 ...

    ruby-2.5.3-x64 下载

    标题中的"ruby-2.5.3-x64"指的是Ruby语言的特定版本,2.5.3,这是一个64位的构建。Ruby的版本迭代频繁,每个新版本通常会包含性能优化、新的特性和错误修复。2.5.3是2018年发布的一个稳定版本,它带来了诸如改进的...

    Ruby-GNOME2.zip

    Ruby-GNOME2提供GNOME 2.0开发环境的Ruby绑定,目前在活跃更新中。如果你喜欢GTK的界面,你一定会喜欢Ruby-GNOME2。GTK目前提供Linux、 Windows等多个平台的运行库,也就是说使用GTK开发的应用程序可以在多个平台下...

    ruby-2.4.3.tar.gz

    在这个场景中,"ruby-2.4.3.tar.gz"是一个压缩包,其中包含了Ruby 2.4.3的源代码。这个版本是在2017年发布的,相比CentOS 6.x默认的Ruby版本,它提供了更多的改进和新特性。Ruby 2.4系列引入了性能优化、新的语法糖...

    Ruby-RubyJMeter一个基于Ruby的DSL用于构建JMeter测试计划

    Ruby-JMeter是一个强大的工具,它将Ruby编程语言与Apache JMeter测试框架相结合,为性能测试和负载测试提供了灵活且易于使用的领域特定语言(DSL)。这个工具使得测试人员和开发者能够用Ruby编写JMeter测试计划,...

    ruby-1.9.3-p547.tar.gz

    在本压缩包"ruby-1.9.3-p547.tar.gz"中,包含的是Ruby语言的一个特定版本——1.9.3-p547。 Ruby 1.9.3是Ruby的一个重要版本,发布于2012年,它带来了许多性能提升和新特性。这个版本对Ruby的语法进行了改进,包括更...

    ruby-debug-1.87.rar

    《Ruby调试工具:ruby-debug-1.87详解》 Ruby是一种动态、开源的编程语言,以其简洁的语法和强大的元编程能力深受开发者喜爱。在开发过程中,调试是必不可少的一环,而`ruby-debug-1.87`就是Ruby社区中广泛使用的...

    ruby-2.2.0.tar.gz

    此外,这个版本还支持位操作符,改进了元编程能力,以及对Unicode字符的更好处理。对于开发者来说,这些更新意味着更快的应用程序和更灵活的编程方式。 在安装和配置GitLab时,你需要确保系统已经安装了正确的Ruby...

    ruby-2.4.5.tar.gz

    解压`ruby-2.4.5.tar.gz`后,你会得到一个名为`ruby-2.4.5`的目录,其中包含了Ruby源代码的所有文件和子目录。这些文件可能包括但不限于: 1. `README`: 提供关于该版本的基本信息和安装指南。 2. `INSTALL`: 包含...

    ruby-1.9.2-p290.tar.gz

    标题中的"ruby-1.9.2-p290.tar.gz"是一个开源编程语言Ruby的特定版本的归档文件,采用流行的tar和gzip格式进行压缩。这个版本是Ruby的1.9.2分支的一个更新点,标记为p290,意味着它是该分支的第290个补丁级别。在...

    mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe

    mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe

    ruby-2.5.8.tar.gz

    - 解压`ruby-2.5.8.tar.gz`:使用`tar -zxvf ruby-2.5.8.tar.gz`命令解压。 - 编译与安装:进入解压后的目录,运行`./configure`,然后`make`和`make install`进行编译和安装。 - 验证安装:通过`ruby -v`检查...

    ruby-2.6.5.tar.gz

    在终端中输入`tar -zxvf ruby-2.6.5.tar.gz`,这会创建一个名为`ruby-2.6.5`的目录,包含所有源代码。 2. **进入目录**:使用`cd`命令进入新解压的目录,如`cd ruby-2.6.5`。 3. **配置**:运行`./configure`脚本...

    ruby-debug-base19-0.11.26.gem

    ruby-debug-base19-0.11.26.gem

Global site tag (gtag.js) - Google Analytics