2010-10-15 4 views
0

Je vous écris un script Ruby très simple et a quelques vérifications:Ruby - pourquoi les instructions et/ou les instructions ne peuvent pas figurer sur une ligne distincte?

if true and true and true then 

else 

end 

Pourquoi ne puis-je pas formater cette façon

if true 
    and true 
    and true 
    then 

else 

end 

Ruby explose si je le fais de cette façon. Je veux le faire de cette façon pour que mes lignes soient folles longtemps. J'ai simplement fait des critères une fonction pour résoudre le problème, mais je me sens toujours très limité si je ne peux pas mettre cela sur une ligne séparée.

Walter

+0

Quelle version de ruby? – Maz

Répondre

3

Vous pouvez aussi l'écrire:

if true and 
    true and 
    true 
    puts "true" 
end 
+0

Ah d'accord, je pensais avoir essayé ça, je ne fais certainement pas le \. Mon code doit être assez joli pour que je marque mon nom dessus. Ça va marcher. –

0

Vous pouvez simplement supprimer le 'puis'.

/Je pense :)

1

Vous pouvez mettre un \ pour continuer la ligne:

if true \ 
    and true \ 
    and true 
    puts "true!" 
end 

Ce n'est pas le meilleur style, mais ça va marcher.

1

Parenthèses fera l'affaire ainsi:

if(true 
    and true 
    and true) 
    puts "true!" 
end 

Faire les critères d'une fonction, comme vous l'avez déjà fait, est probablement une solution supérieure.

Questions connexes