Latest web development tutorials

งบเปลี่ยน Perl

Perl งบเงื่อนไข Perl งบเงื่อนไข

กรณีทดสอบงบเปลี่ยนช่วยให้ตัวแปรเท่ากับมูลค่าหลายแต่ละค่าที่เรียกว่ากรณีและตัวแปรจะมีการทดสอบแต่ละกรณีสวิทช์ที่จะได้รับการตรวจสอบ

สวิทช์สวิทช์กรณีที่ผู้บริหารจะขึ้นอยู่กับโมดูล,ชุดสวิตช์ใช้กรอง:: Util :: โทรและข้อความ:: สมดุลในการดำเนินการทั้งโมดูลจะต้องมีการติดตั้ง

ไวยากรณ์

ไวยากรณ์เป็นดังนี้:

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 "不匹配之前的条件" }
}

ต่อไปนี้เป็นคำสั่งกฎของสวิทช์:

  • งบเปลี่ยนวงเล็บสามารถนำมาใช้ในรูปแบบของพารามิเตอร์เกลาใด ๆ
  • ในการสลับคุณสามารถมีจำนวนของงบกรณีใด ๆ แต่ละกรณีจะตามด้วยค่าเปรียบเทียบกับลำไส้ใหญ่

  • คำสั่งกรณีเกลาแล้วเกลาที่จะเปลี่ยนคำสั่งและกำหนดหรือไม่เหมือนกัน

  • เมื่อเป็นตัวแปรทดสอบเท่ากับกรณีของเวลาอย่างต่อเนื่องตามคำสั่งกรณีจะถูกดำเนินการจนกว่าจะพบคำสั่งหยุดพัก

  • งบเปลี่ยนจะมีตัวเลือกอื่นในงบผิวสุดท้ายคำสั่งจะถูกดำเนินการในกรณีที่ไม่ตรงกับกรณีใด

  • เมื่อกรณีการจับคู่คำสั่งกรณีที่บล็อกรันโค้ดจากงบเปลี่ยนหลังจากรัน

  • เมื่อกรณีการจับคู่ถ้าเราจำเป็นต้องดำเนินการรันคำสั่งกรณีต่อไปคุณจะต้องเพิ่มคำสั่งต่อไป

แผนภูมิการไหล

ตัวอย่าง

#!/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 "没有匹配的条件" }
}

โปรแกรมข้างต้นผลลัพธ์คือ:

数字 10

ต่อไปเรามองไปที่การใช้งานของอินสแตนซ์ต่อไป:

#!/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 "没有匹配的条件" }
}

โปรแกรมข้างต้นผลลัพธ์คือ:

数字 10
数字在列表中

Perl งบเงื่อนไข Perl งบเงื่อนไข