当前位置:  开发笔记 > 后端 > 正文

如何在Ruby中不使用'then'或'end'来编写'if'

如何解决《如何在Ruby中不使用'then'或'end'来编写'if'》经验,为你挑选了1个好方法。

我发现在Ruby中编写相同条件的三种方法:

#1
if 1==1 
  puts "true" 
end

#2
puts "true" if 1==1

#3
if 1==1  then puts "true" end

为什么我不能这样做?

#4
if 1==1 puts "true"

我不明白:

    为什么然后结束都需要在#3和,

    为什么我需要更改订单以使#2工作.

声明#4似乎是最自然的写作方式.我不明白为什么不可能.



1> Chuck..:

" if x then y end"语法用于多行条件,而" y if x"形式用于简洁的单行条件语句.的then是在第一种情况下,以告诉红宝石条件已被超过(因为红宝石不需要像C括号)必需的,并且end有必要告诉红宝石,整个if块结束(因为它可以是多行).

您可以用then分号替换,因为行尾也表示条件的结束.你无法摆脱end多线if.如果你想要一个简洁的单行,可以使用第二种形式或三元运算符.

例如,假设

x = true

以下将评估为真,并返回y

x ? y :
=> y

同样,这将评估错误并且不返回任何内容

!x ? y :
=> 

在else案例的':'之后添加一个术语

!x ? y : z
=> z

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有