2017-10-13 1 views
-6

J'ai besoin d'aide parce que cela n'a pas fonctionné. Il donne un message d'erreur:Ruby de CodeAcademy CONTRÔLE FLUX DANS LE RUBIS Osez comparer

(rubis): 8: erreur de syntaxe, de fin de l'entrée inattendue, expecting ')'

Assurez-vous de mettre une expression après chaque =!. Run:

(#) test_1 should be false 
test_1 = 10 < 8 

(#) test_2 = should be false 
test_2 = 8 > 10 

(#) test_3 = should be true 
test_3 = 8 != 8 
+2

ce que vous êtes censé taper est juste la partie après le "devrait être faux", par exemple. vous tapez simplement 'test1 = 10 <8' –

+0

J'essaie juste de ne pas travailler. (ruby): 8: erreur de syntaxe, fin d'entrée inattendue, attendez ')' –

+0

Vous êtes juste censé vous assurer que l'instruction suivante est vraie ou fausse –

Répondre

0

Qu'est-ce que cela signifie (#)?

Vous commencez une expression parenthesised ( (tout en Ruby est une expression), alors il y a un commentaire #) test_1 should be false, puis une expression test_1 = 10 < 8, puis une expression parenthesised intérieure (, puis un commentaire #) test_2 = should be false, etc, etc. Mais il y a pas de parenthèses de fermeture, d'où l'erreur.

Cela fonctionne:

(#) test_1 should be false 
test_1 = 10 < 8 

(#) test_2 = should be false 
test_2 = 8 > 10 

(#) test_3 = should be true 
test_3 = 8 != 8 
))) 

Exécution:

$ ruby -w t_op.rb 
t_op.rb:2: warning: assigned but unused variable - test_1 
t_op.rb:5: warning: assigned but unused variable - test_2 
t_op.rb:8: warning: assigned but unused variable - test_3 

En fait ce que vous vouliez faire est:

# test_1 should be false 
test_1 = 10 < 8 

# test_2 = should be false 
test_2 = 8 > 10 

# test_3 = should be true ???? 
test_3 = 8 != 8 

# test_4 = should be true 
test_4 = 8 != 18 

puts "test_1=#{test_1.inspect}" 
puts "test_2=#{test_2.inspect}" 
puts "test_3=#{test_3.inspect}" 
puts "test_4=#{test_4.inspect}" 

Exécution:

$ ruby -w t.rb 
test_1=false 
test_2=false 
test_3=false 
test_4=true