什么是ruby中的三元(条件)运算符?(ternary (conditional) operators in ruby?)

三元(或条件)运算符将对表达式求值,如果为true,则返回一个值,如果为false,则返回另一个值。这有点像一个简捷、紧凑的if语句。...

三元(或条件)运算符将对表达式求值,如果为true,则返回一个值,如果为false,则返回另一个值。这有点像一个简捷、紧凑的if语句。

A aoman using a computer in an office.

Ruby的三元运算符有它的用途,但也有一些争议。

三元运算符示例

让我们看看这个例子:

这里,条件运算符用于在两个字符串之间进行选择。整个运算符表达式包括所有内容,包括条件、问号、两个字符串和冒号。此表达式的一般格式如下:条件?对:错。

如果条件表达式为true,则运算符将作为true表达式计算。否则,它将作为假表达式计算。在本例中,它位于括号中,因此它不会干扰周围的字符串连接运算符。

换句话说,条件运算符类似于if语句。请记住,Ruby中的if语句计算为块中执行的最后一个值。因此,您可以这样重写前面的示例:

这段代码在功能上是等价的,可能更容易理解。如果i大于10,If语句本身将计算为字符串“大于”或字符串“小于或等于”。这与三元运算符所做的相同,只是三元运算符更紧凑。

三元运算符的用法

那么,三元运算符有什么用途呢?它确实有用处,但用处不多,没有它你也可以过得很好。

它通常用于在条件语句过于庞大的情况下插入值。它还用于变量赋值,以便在两个值之间快速选择。

下面是三元运算符的两个典型用例:

您可能已经注意到,这看起来很不红宝石。Ruby的表达式通常是一行一行的,而不是一行的。但是,您将看到这个操作符,它可以有效地使用而不会失控。

要遵循的一条规则是,如果使用此运算符通过简单条件在两个值之间进行选择,则可以使用。如果您正在做一些更复杂的事情,那么可能应该使用If语句。

  • 发表于 2021-10-10 08:24
  • 阅读 ( 230 )
  • 分类:编程

你可能感兴趣的文章

二元的(binary)和三元酸(ternary acids)的区别

二元的(binary)和三元酸(ternary acids)的区别   酸是能够提供氢离子(H+)或与电子对(路易斯酸)形成共价键的化合物。酸有许多特性,如能将蓝色石蕊变成红色,中和碱性溶液等。大多数酸即使在低浓度下也具有腐蚀性。因此...

  • 发布于 2020-10-24 03:03
  • 阅读 ( 417 )

最糟糕和最难避免的编程语言就像瘟疫一样

...殊结构的产物,还是它的创建者的一时兴起,PHP中的三元运算符都令人费解。考虑一下: ...

  • 发布于 2021-03-21 17:33
  • 阅读 ( 229 )

使用静态站点生成器快速构建网站

...eOf指南来使用静态站点生成器。在本指南中,我们将介绍什么是静态站点生成器(SSG),为什么要使用它,以及如何使用它构建一个全新的站点。我们将探讨的一些细节: ...

  • 发布于 2021-03-25 19:23
  • 阅读 ( 306 )

python(python)和红宝石(ruby)的区别

...。下面是两种流行脚本语言之间的一个简短的对比。   什么是python(python)? Python在20世纪80年代末作为Guido van Rossum的宠物项目开始,并于1989年12月在荷兰CWI正式实施。当时他开始研究一种新的脚本语言,其语法与ABC编程语言相...

  • 发布于 2021-06-25 22:26
  • 阅读 ( 246 )

古典的(classical)和操作性条件作用(operant conditioning)的区别

...应而发生的行为模式奖励和结果。 本文将详细解释, 1.什么是操作性条件作用-BF斯金纳理论、基本原理、关键概念和结果 2.什么是经典条件作用-伊万·巴甫洛夫理论、基本原理和结果 3.经典条件作用和操作条件作用的区别 什么...

  • 发布于 2021-06-28 03:24
  • 阅读 ( 1044 )

新的(new)和C++中删除运算符(delete operator in c++)的区别

C++中new和Delphi运算符的主要区别在于new被用来为对象或数组分配内存,而DELATE用于释放使用新运算符分配的内存。 有两种类型的记忆作为静态和动态记忆。假设一个语句,比如int a;int数组[10];程序员已经知道这些变量需要多...

  • 发布于 2021-07-01 04:35
  • 阅读 ( 180 )

perl语言(perl)和红宝石(ruby)的区别

...统管理、网络编程、GUI和web开发等。 覆盖的关键领域 1.什么是Perl–定义,特性2.什么是Ruby–定义,特性3.Perl和Ruby的区别是什么–主要区别的比较 关键术语 OOP、Perl、Ruby 什么是perl语言(perl)? Perl代表实用的提取和报告语言。它...

  • 发布于 2021-07-01 12:05
  • 阅读 ( 368 )

经典条件作用(classical conditioning)和操作性条件作用(operant conditioning)的区别

...中。经典条件作用与操作条件作用的比较表(表格形式)什么是经典条件作用(classical conditioning)?经典条件作用是由一位名叫伊万·巴甫洛夫的俄罗斯生理学家首次提出的。这对心理学的行为主义分支产生了重大影响。巴甫洛夫...

  • 发布于 2021-07-07 07:25
  • 阅读 ( 460 )

ruby for kids教你的孩子(和你自己)ruby编程语言

...序观看屏幕播放,了解Ruby编程的各个方面,重点是gosu库中的游戏开发。这是一种有趣的方法来教你的孩子如何编程,如果你还不是Ruby专家,它甚至可以帮助你学习语言。Ruby For childs与Hakety-Hack(另一个很棒的Ruby学习资源)有几...

  • 发布于 2021-07-25 04:52
  • 阅读 ( 173 )

javascript三元运算符作为if/else语句的快捷方式

JavaScript中的条件三元运算符根据某些条件为变量赋值,是唯一接受三个操作数的JavaScript运算符。 三元运算符可替代if语句,其中if和else子句为同一字段指定不同的值,如下所示: if (condition)result = 'something';elseresult = 'somethi...

  • 发布于 2021-09-05 13:43
  • 阅读 ( 229 )
娱来星君播报号
娱来星君播报号

0 篇文章

相关推荐