CoffeeScript - declaração switch
UMA switchdeclaração permite que uma variável seja testada quanto à igualdade em relação a uma lista de valores. Cada valor é chamado decase, e a variável que está sendo ligada é verificada para cada caso de switch. Aqui está a sintaxe deswitch em JavaScript.
switch (expression){
case condition 1: statement(s)
break;
case condition 2: statement(s)
break;
case condition n: statement(s)
break;
default: statement(s)
}
Em JavaScript, após cada caso de switch, temos que usar o breakdeclaração. Se esquecermos acidentalmente obreak declaração, então há uma chance de cair de um caso de switch para outro.
Instrução Switch no CoffeeScript
CoffeeScript resolve este problema usando a combinação de switch-when-elsecláusulas. Aqui temos uma expressão switch opcional seguida por instruções case.
Cada declaração de caso tem duas cláusulas when e then. owhen é seguido por condição e thené seguido pelo conjunto de instruções que devem ser executadas se essa condição particular for atendida. E, finalmente, temos o opcionalelse cláusula que mantém a ação para a condição padrão.
Sintaxe
Dada a seguir está a sintaxe do switchdeclaração no CoffeeScript. Especificamos a expressão sem parênteses e separamos as declarações case mantendo os recuos adequados.
switch expression
when condition1 then statements
when condition2 then statements
when condition3 then statements
else statements
Diagrama de fluxo
Exemplo
O exemplo a seguir demonstra o uso de switchdeclaração no CoffeeScript. Salve este código em um arquivo com o nomeswitch_example.coffee
name="Ramu"
score=75
message = switch
when score>=75 then "Congrats your grade is A"
when score>=60 then "Your grade is B"
when score>=50 then "Your grade is C"
when score>=35 then "Your grade is D"
else "Your grade is F and you are failed in the exam"
console.log message
Abra o command prompt e compilar o arquivo .coffee conforme mostrado abaixo.
c:\> coffee -c switch_exmple.coffee
Na compilação, ele fornece o seguinte JavaScript.
// Generated by CoffeeScript 1.10.0
(function() {
var message, name, score;
name = "Ramu";
score = 75;
message = (function() {
switch (false) {
case !(score >= 75):
return "Congrats your grade is A";
case !(score >= 60):
return "Your grade is B";
case !(score >= 50):
return "Your grade is C";
case !(score >= 35):
return "Your grade is D";
default:
return "Your grade is F and you are failed in the exam";
}
})();
console.log(message);
}).call(this);
Agora, abra o command prompt novamente e execute o arquivo CoffeeScript como -
c:\> coffee switch_exmple.coffee
Ao ser executado, o arquivo CoffeeScript produz a seguinte saída.
Congrats your grade is A
Vários valores para a cláusula when
Também podemos especificar vários valores para uma única cláusula when, separando-os com vírgulas (,) nos casos de troca.
Exemplo
O exemplo a seguir mostra como escrever uma instrução switch CoffeeScript especificando vários valores para o whencláusula. Salve este código em um arquivo com o nomeswitch_multiple_example.coffee
name="Ramu"
score=75
message = switch name
when "Ramu","Mohammed" then "You have passed the examination with grade A"
when "John","Julia" then "You have passed the examination with grade is B"
when "Rajan" then "Sorry you failed in the examination"
else "No result"
console.log message
Abra o command prompt e compilar o arquivo .coffee conforme mostrado abaixo.
c:\> coffee -c switch_multiple_example.coffee
Na compilação, ele fornece o seguinte JavaScript.
// Generated by CoffeeScript 1.10.0
(function() {
var message, name, score;
name = "Ramu";
score = 75;
message = (function() {
switch (name) {
case "Ramu":
case "Mohammed":
return "You have passed the examination with grade A";
case "John":
case "Julia":
return "You have passed the examination with grade is B";
case "Rajan":
return "Sorry you failed in the examination";
default:
return "No result";
}
})();
console.log(message);
}).call(this);
Agora, abra o command prompt novamente e execute o arquivo CoffeeScript conforme mostrado abaixo.
c:\> coffee switch_multiple_example.coffee
Ao ser executado, o arquivo CoffeeScript produz a seguinte saída.
You have passed the examination with grade A