Réponses
Trop de publicités?En Ruby, la condition et l' then
le cadre d'un if
expression doivent être séparés par un séparateur d'expression (c - ;
ou un saut de ligne) ou l' then
mot-clé.
Ainsi, l'ensemble de ces travaux:
if @item.rigged then 'Yes' else 'No' end
if @item.rigged; 'Yes' else 'No' end
if @item.rigged
'Yes' else 'No' end
Il y a aussi un opérateur conditionnel en Ruby, mais c'est totalement inutile. L'opérateur conditionnel est nécessaire en C, car c'est un opérateur: en C, if
est une déclaration et ne peut donc pas renvoyer une valeur, donc si vous voulez retourner une valeur, vous avez besoin d'utiliser quelque chose qui peut retourner une valeur. Et les seules choses en C qui peut renvoyer une valeur sont les fonctions et les opérateurs, et depuis il est impossible de faire if
une fonction en C, vous avez besoin d'un opérateur.
En Ruby, cependant, if
est une expression. En fait, tout est une expression en Ruby, il est déjà peut retourner une valeur. Il n'est pas nécessaire pour l'opérateur conditionnel à même d' exister, encore moins de l'utiliser.
BTW: il est d'usage de nommer les méthodes qui sont utilisées pour poser une question avec un point d'interrogation à la fin, comme ceci:
@item.rigged?
Cela montre un autre problème avec l'aide de l'opérateur conditionnel en Ruby:
@item.rigged? ? 'Yes' : 'No'
Il est tout simplement difficile à lire, avec de multiples points d'interrogation proches les uns des autres.