多行if-else ruby
我知道这个问题在其他地方也提到过,但我对ruby中多行(block?多行if-else ruby,ruby,if-statement,block,Ruby,If Statement,Block,我知道这个问题在其他地方也提到过,但我对ruby中多行(block?if-else语句的正确语法有点困惑 例如: if condition then do something do somethingelse do yetanotherthing done else do acompletelyunrelatedthing done 我知道如果使用多行,则需要then语句,但是在else之前是否需要done?这似乎会打破if…else上下文。当我包含此完成时我得到: 语法错
if-else
语句的正确语法有点困惑
例如:
if condition then
do something
do somethingelse
do yetanotherthing
done
else
do acompletelyunrelatedthing
done
我知道如果使用多行,则需要then
语句,但是在else
之前是否需要done
?这似乎会打破if…else
上下文。当我包含此完成时
我得到:
语法错误,意外的“\n”,应为tCOLON2或“[”或“.”
当我不包括它时,我得到:
语法错误,意外的关键字\u else,需要关键字\u end
嗯…Ruby中没有done
关键字。以下是正确的语法:
if condition
# do stuff
else
# do other stuff
end
then
关键字也不需要。嗯……Ruby中没有done
关键字。以下是正确的语法:
if condition
# do stuff
else
# do other stuff
end
then
关键字也不需要。仅当您需要将整件事放在一行时才使用then
关键字(如果为真,则将条件与要采取的行动分开):
如果您不想将所有内容都放在一行中(通常您不想),语法与DoorKnop的答案相同。如果您需要将整个内容放在一行中,则只使用
关键字(如果为true,则将条件与要采取的操作分开):
如果你不想把所有的东西都放在一行(通常你不想)注意,#do stuff
是一个注释,用你想要执行的代码替换。#do stuff
是一个注释,用你想要执行的代码替换。然后
是一行的,这是正确的,但是,从风格上来说,我们不写if/else语句n一行。对于简单版本,使用三元语句,否则将其拆分为单独的行。then
用于一行是正确的,但是,从风格上讲,我们不在一行上编写if/else语句。对于简单版本,使用三元语句,否则将其拆分为单独的行。