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

Ruby的运算符和语句优先级介绍

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

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

Ruby 是一种表达能力很强的语言,这得意于它异常丰富的运算符和语法糖,虽然 Ruby 一直把最小惊讶原则作为它的哲学之一,但还是常常看到让人惊讶不已,难于理解的代码,这可能是因为对它运算符和语句优先级理解不透导致,今天就和大家聊一聊 Ruby 运算符和语句的优先级。

先看一句简单的代码,猜一猜它的输出是什么。

  puts {}.class
</div>
很多人一定以为结果是 Hash,但实事上结果是空,不信可以在 irb 里试一试。

再看一段代码。

puts "5 && 3 is #{5 && 3}"
puts "5 and 3 is #{5 and 3}"
a = 5 && 3
b = 5 and 3
puts "a is #{a}"
puts "b is #{b}"
</div>
结果是:

5 && 3 is 3
5 and 3 is 3
a is 3
b is 5
</div>

有没有觉得奇怪 b 怎么是 5 而不是 3 呢。

如果这两个例子你也觉得奇怪,那说明你对 Ruby 一些运算符和语句的优先级理解还不透彻,判断有误。 puts {}.class 实际上相当于 (puts {}).class -> nil.class 所以输出为空。{}相当于一个空的 block,优先和方法 puts 结合。 && 和 and 的优先是不同的,而且和 = 号的优先级顺序比较, && > = > and,所以 a = 5 && 3 相当于 a = ( 5 && 3),而 b = 5 and 3 相当于 ( b = 5 ) and 3,所以结果 a 和 b的值是不同的。

下面一张表格是 Ruby 中常见的运算符和语句的优先级列表,从上到下优先级递减。


Ruby operators (highest to lowest precedence)

几条便于记忆的原则:

1.关键字类如if and 等的优先级是要比符号类低;
2.赋值符号 = ||= 等优先级也比较低,仅次于关键字类;
3.[] []= 元素引用的优先级非常高。

</div>

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

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

相关文章

  • Ruby on Rails实现最基本的用户注册和登录功能的教程
  • Ruby中区分运行来源的方法
  • 借助RubyGnome2库进行GTK下的Ruby GUI编程的基本方法
  • 使用Ruby来处理文本的教程
  • 设计模式中的观察者模式在Ruby编程中的运用实例解析
  • RUBY文档中心-学习开始
  • ruby 学习笔记(2) 类的基本使用
  • 深入理解Ruby中的block概念
  • Jekyll静态网站后台引擎使用教程
  • Ruby类继承、抽象类、类拓展混入、代理类实例

文章分类

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

最近更新的内容

    • Ruby中访问SQL Server数据库的配置实例
    • 比较详细的ruby symbol 学习资料
    • rails常用数据库查询操作、方法浅析
    • ruby 局部变量
    • Ruby On Rails中如何避免N+1问题
    • Ruby 魔法 学习笔记之一
    • Ruby的基础语法入门学习教程
    • Ruby中遍历目录的简洁方法
    • Ruby on Rails下的图像处理入门教程
    • Ruby中的return、break、next详解

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

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