207 votes

Question Ruby on line si Déclaration

<pre><code></code><p>Je pensais à quelque chose comme ça ?</p><pre><code></code></pre><p></pre>

421voto

Nikita Rybak Points 36641

Supprimer de

Opérateur ternaire a forme``

196voto

Jörg W Mittag Points 153275

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.

86voto

Une ligne si :

Déclaration Si condition

Votre cas :

« Oui » si @item.rigged

« Non » si ! @item.rigged

7voto

mark Points 41

Le shell et C une ligne construit le œuvre (rubis 1.9.3p429) :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X