Latest web development tutorials

sentencia switch Perl

sentencias condicionales Perl sentencias condicionales Perl

Caso de prueba de una sentenciaswitch permite una variable igual al valor múltiple.Cada valor se llama un caso, y la variable se pondrá a prueba cadacaso interruptor para ser revisado.

Cambiar caja de conmutación Ejecutivo se basa en el módulo, módulo de conmutadorutilizaFiltro :: Util :: Llameytexto :: equilibradopara llevar a cabo, los dos módulos deben ser instalados.

gramática

La sintaxis es la siguiente:

use Switch;

switch(argument){
   case 1            { print "数字 1" }
   case "a"          { print "字符串 a" }
   case [1..10,42]   { print "数字在列表中" }
   case (\@array)    { print "数字在数组中" }
   case /\w+/        { print "正则匹配模式" }
   case qr/\w+/      { print "正则匹配模式" }
   case (\%hash)     { print "哈希" }
   case (\&sub)      { print "子进程" }
   else              { print "不匹配之前的条件" }
}

Las siguientes son las reglas de la sentencia switch:

  • soportesinterruptor declaración puede ser usada en cualquier tipo de parámetros escalares.
  • En un interruptor que puede tener cualquier número de declaraciones de casos. Cada caso es seguido de un valor a comparar con dos puntos.

  • declaración de caso escalar, entonces el escalar cambiará declaración, y determina si o no el mismo.

  • Cuando la variable que está siendo probado es igual al caso de la constante de tiempo, seguido de una declaración de caso será ejecutado, hasta que se encuentre una sentenciabreak.

  • sentenciaswitch puede tener una opción más,la declaración en la superficie final, la sentencia se ejecuta en el caso no coincide con ningún caso.

  • Cuando el caso de coincidencia, bloque de instrucción case ejecuta el código de la instrucción switch después de ejecutar.

  • Cuando el caso de coincidencia, si tenemos que seguir para ejecutar la siguiente instrucción de escenario, es necesario agregar lasiguiente instrucción.

diagrama de flujo

Ejemplos

#!/usr/bin/perl

use Switch;

$var = 10;
@array = (10, 20, 30);
%hash = ('key1' => 10, 'key2' => 20);

switch($var){
   case 10           { print "数字 10\n" }
   case "a"          { print "字符串 a" }
   case [1..10,42]   { print "数字在列表中" }
   case (\@array)    { print "数字在数组中" }
   case (\%hash)     { print "在哈希中" }
   else              { print "没有匹配的条件" }
}

El programa anterior, la salida es:

数字 10

A continuación nos fijamos en el uso de lasiguiente instancia:

#!/usr/bin/perl

use Switch;

$var = 10;
@array = (10, 20, 30);
%hash = ('key1' => 10, 'key2' => 20);

switch($var){
   case 10           { print "数字 10\n"; next; }  # 匹配后继续执行
   case "a"          { print "string a" }
   case [1..10,42]   { print "数字在列表中" }
   case (\@array)    { print "数字在数组中" }
   case (\%hash)     { print "在哈希中" }
   else              { print "没有匹配的条件" }
}

El programa anterior, la salida es:

数字 10
数字在列表中

sentencias condicionales Perl sentencias condicionales Perl