Exercices
1. Expressions
Sans faire tourner le code, essayez de déterminer les valeurs des différentes variables ou les messages en sortie :
Cas 1 :
a = true
b = !a
c = !b
a,c=c,b
Cas 2 :
a = false
b = !a || true
c = b and a
Cas 3 :
a=true
b=false
c=false unless a || b
c=true if a || b
d=c && a
Cas 4 :
b=false
if ( b || true ) then
a = ( not b )
if ( a ) then
c = false
else
c = true
end
else
a = false
c = false
end
Cas 5 :
a=1
a+=10
case a+=1
when 10
b=a+1
when 12
b=a-1
else
b=2
b*=a
end
Cas 6 :
a=false
i = 1
until a
if ( i )
i+= 1
else
i+= 2
end
if ( i == 10 ) then
break;
else
puts i
end
end
Cas 7 :
i,b=0,0
a=false
loop do
i+=2
a =i>2
if ( a ) then
b += i
if ( b > 4 ) then
a = i>4
break
end
else
b=i+1
end
end
Cas 8 :
catch( :fin ) do
i = 0
for qui in ["pierre", "paul", "jacques" ]
puts qui
if qui == "paul" then
throw :fin if i == 3
next
elsif qui == "jacques" then
retry if ( i < 3 )
end
i+=1
end
end
2. Méthodes
Cas 1 : créez une méthode calcul avec en argument une opération (+,-,*, /) et deux nombres. Cette méthode doit retourner le résultat de l’opération, en cas d’impossibilité un throw sera utilisé avec un label :erreur. Testez votre méthode avec diverses opérations et affichez le détail et le résultat de l’opération.
Cas 2 : modifiez votre cas précédent pour que le calcul se fasse avec un nombre indéterminé...