1. Trang chủ
  2. » Công Nghệ Thông Tin

Bộ kiểm soát CID điện thoại- phần 6 ppt

6 202 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 79,5 KB

Nội dung

C.Ứng dụng vào lập trình. Ở phần trên, chúng ta đã đưa ra những chủ điểm cơ bản về Perl, và bây giờ chúng ta sẽ xét đến những thành phần cấu trúc nên một chương trình Perl. I.Biểu thức chính quy. Biểu thức chính quy là một khái niệm đến từ UNIX. Nó giống như một biểu mẫu nhưng lại có sự kết hợp khác biệt với một chuỗi. Một biểu thức chính quy không phải là sự chuyển đổi kiểu ký tự của chuỗi mà là sự thể hiện riêng của chính nó. Để sử dụng kiểu biểu thức chính quy , ta phải cần 2 bước sau : +Thứ nhất : Bạn phải hiểu về biểu mẫu mà bạn muốn kết hợp. +Thứ hai : bạn phải hiểu về sự khác biệt giữa những biểu mẫu bạn có thể dùng để tạo ra được những biểu mẫu kết hợp. Biểu thức chính quy được sử dụng trong nhiều hệ điều hành khác nhau, và được xử lý bởi nhiều quá trình và chương trình khác nhau. Biểu thức chính quy trong những hệ điều hành khác nhau thì có thể khác nhau về cú pháp nhưng khái niệm thì không thay đổi. Trong phần này, chúng ta sẽ lần lượt tìm hiểu những vấn đề sau : +Cấu trúc điều khiển. +Dãy kết hợp. +Dữ kiện vào ra sử dụng <STDIN>. 1.Cấu trúc điều khiển. Điều quan trọng là làm sao thông báo cho Perl biết khi nào bạn muốn đoạn script được thực hiện. Để làm được việc ấy thì bạn phải sử dụng cấu trúc điều khiển như là một phát biểu khối hoặc là một dạng khác của vòng lặp. 1.1.Phát biểu khối. Dạng cấu trúc điều khiển đơn giản nhất trong Perl là các phát biểu khối, nó tạo thành một dãy những biểu thức được bao giữa một cặp dấu ngoặc và có dạng như sau. { $one = “1”; @two = (1,2,3); %three = $two[0}; } 1.2.Phát biểu vòng lặp If & Unless Trong vòng lặp if/unless, một biểu thức sẽ được kiểm tra tính đúng đắn, và nếu nó đúng thì một dãy các sự kiện sẽ được kích hoạt. Nếu nó sai thì một số phần khác trong script sẽ được kích hoạt.Sau đây là một ví dụ về cách định dạng cho vòng lặp if/unless. if ( biểu_thức) { biểu thức if đúng; } else { biểu thức if sai; } Nếu bạn muốn chỉ trả về một phát biểu nếu kết quả của biểu thức được kiểmtra là sai, bạn có thể sử dụng câu lệnh unless. vídụ: print “what is the temperature?”; $temp = <STDIN>; chop ($temp<70) { unless ($temp <70) { print “is it hot ?\n”; } Nếu bạn muốn có được nhiều sự lựa chọn hơn trong một phát biểu thì bạn có thể sử dụng cấu trúc if/else và một lựa chọn nữa là elseif. vídụ: print “what is the temperature?”; $temp = <STDIN>; chop ($temp); if ($temp < 70) { print “you better get a sweater\n”; } elsif ((70 < temp <80) { print “A little cool , but comfortable \n”; } elsif (80 <$temp <90) { print “nice and cozy\n”; } else { print “is it hot \n”; } 1.2.phát biểu vòng lặp While/Until. -2- Nếu bạn muốn có một khối phát biểu lặp lại nhiều lần cho đến khi một mệnh đề điều khiển được thể hiện. vídụ: print “how high for your countdown?”; $count = <STDIN>; chop ($count); while ($count > 0) { print “T minus $count, and counting \n”; $count ; } Vòng lặp while cũng có một lựa chọn khác cho phép trả về một phát biểu nếu mệnh đề điều khiển của đầu vào là sai, gọi là câu lệnh until, cấu trúc này được sử dụng như sau. print “how long for your countdown?”; $count = <STDIN>; chop ($count); until ($count > 0) { print “lift off\n”; $count ; } 1.4.Phát biểu vòng lặp for/foreach. Khi bạn muốn script của bạn định giá trị cho một biểu thức và sau đó lại thay đổi giá trị của nó trong mỗi lần thực hiện việc đếm, bạn có thể sử dụng câu lệnh for như sau. for ($count = 15; $count >=1; $count ) { print “$count \n”; } Ở đây, chúng ta cũng gặp một số trường hợp cá biệt khi bạn muốn tạo một vòng lặp với một biến mà giá trị của nó sẽ thay đổi bên trong vòng lặp, nhưng bạn muốn nó phải trả về giá trị sau khi vòng lặp “chết” . Bạn có thể làm điều nay với câu lệnh foreach. Khi sử dụng câu lệnh foreach, một danh sách các giá trị được tạo và sau đó, nó sẽ thay thế chúng vào trong một biến môi trường tại một thời điểm, và sau đó tính toán khối phát biểu đó vídu: @letters = (“A” , “B” , “C” , “D”); foreach $new (reverse @letters) { print $new; -3- } ví dụ trên sẽ trả về một dãy: D C B A Một biến đặc biệt được dùng trong Perl để làm đơn giản hóa bộ mã. Biến $_là một biến mặc định được sử dụng cho nhiều câu lệnh vídụ: @letters = (“A”,”B”,”C”,”D”); foreach $_ (reverse @letters) { print $_; } 2.Dãy liên kết. 2.1.Toán tử keys. Để có một danh sách hoặc là tất cả những khoá hiện tại của một dãy liên kết, thì ta có thể đặt tên của dãy vào giữa cặp ngoặc đơn và đặt nó sau toán tử “key” vídụ: keys(%wolf); 2.2.Toán tử values. Như bạn có thể hình dung, toán tử giá trị làm việc như là loại toán tử khóa, nhưng kết quả của nó lại là một danh sách các giá trị của một dãy liên kết. value(%wolf); 2.3.Toán tử each. Để xem xét kỹ các phần tử của một dãy liên kết, bạn có thể sử dụng toán tử each như sau. each(%wolf); 2.4.Toán tử delete. Loại toán tử này cho phép bạn chuyển đổi những cặp giá trị bằng cách chỉ ra khoá của những cặp bạn muốn di chuyển. vídụ: %wolf(4,”four” ,5,”five”,6,”six”); delete $wolf{5}; sẽ trả về dãy : %wolf (4,”four”, 6, “six”); -4- 3. Nhập / xuất : Chúng ta đã biết rằng chúng ta có thể dùng <STDIN> để lấy các thông tin mà người sử dụng đưa vào và chứa các thông tin ấy như là giá trị của một biến.Và chúng ta cũng có thể đẩy một nhóm thông tin của người sử dụng từ <STDIN > vào trong một dãy, nơi mà chúng sẽ được giữ như những phần tử riêng biệt trong một dãy những cặp khóa và giá trị. Nhưng chúng ta vẫn chưa biết cách vận dụng những giá trị này. Chúng ta sẽ bàn về vấn đề vận dụng những giá trị này bởi vì khi bạn muốn duyệt qua những hàng ký tự và thay đổi một số hàng thì vấn đề này là vấn đề rất quan trọng. Để thực hiện yêu cầu trên thì bạn có thể tạo ra một vòng lặp như sau : while ($_ =<STDIN>) { } Khi dòng lệnh while tạo một vòng lặp. Perl sẽ chứa những hàng nhận được từ <STDIN> vào trong biến $_ cho đến khi file dùng để chứa thông tin bị đầy và vòng lặp kết thúc. Khi Perl thực hiện thao tác xuất, cả 2 toán tử print và printf đều có thể được sử dụng để đưa thông tin ra <STDOUT>. 4.Sử dụng biểu thức chính quy. Để tìm hiểu về biểu thức chính quy thì trước hết, chúng ta hãy tìm hiểu một lệnh đơn giản là lệnh grep, là một hình thức ngắn gọn cho các biểu thức xuất.Với lệnh grep, bạn có thể sử dụng một biểu thức và tìm kiếm trên từng hàng của một file, cũng như kết hợp chuỗi được chỉ định trong biểu thức. Lệnh grep được sử dụng như sau : grep tên_chuỗi_cần_tìm tên_tập_tin.pl vd : grep crypt bonus.pl Khi lệnh này được gọi thì nó sẽ kiểm tra mọi hàng trong đoạn mã chương trình trong tập tin mà nó được gọi, nếu có chứa chuỗi “crypt,” và sẽ xuất những hàng này ra tập_tin_change.pl thông qua đường <STDOUT>. Để thể hiện chuỗi “crypt” như là một biểu thức trong Perl, chuỗi này sẽ được đặt giữa hai dấu “/” /crypt/ và bên trong script nó sẽ được biểu diễn như sau : if (/crypt/) { print “$_”; } 5. Guestbook : -5- Chúng ta bắt đầu tìm hiểu về guestbook thông qua một ví dụ, đầu tiên chúng ta tạo một file có tên là guest.pl. #!usr/bin/Perl # guest.pl print “ what is your name ? “; $name=<STDIN>; open (GUESTBOOK. “>>guest.pl”) ; # mở 1 file với filehandle GUESTBOOK print GUESTBOOK “$name”; # bổ sung name vào file guestbook chop($name); print “ thank you, $name! Your name has been added to the Guestbook. \n”; close(GUESTBOOK) ; $name=<STDIN> sẽ nhập biến $name là một chuỗi”string”. Khi chúng ta sử dụng lệnh print <STDOUT> “string” nó sẽ được in ra. Biến này sẽ được thay thế trong chuỗi trước khi được in ra. Ở dòng open (GUESTBOOK. “>>guest.pl) chúng ta sẽ mở một file có tên là guest.pl, mà nó ấn định một filehandle của GUESTBOOK. Filehandle được sử dụng để chỉ đến file được mở để đọc hoặc ghi và nó thường được viết hoa. Filehandle này như tất cả những biến hoặc array trong Perl có thể là bất cứ thứ gì bạn thích nhưng miễn không là một từ được dành riêng. Chúng ta đặt >> trước tên file có nghĩa là chúng ta đang mở một file để bổ sung, bảng sau là những option cho file được mở Toán tử Hành vi > >> +> Nothing Ghi Bổ sung Đọc và ghi Đọc Lệnh chop() được gọi trước khi -6- . C.Ứng dụng vào lập trình. Ở phần trên, chúng ta đã đưa ra những chủ điểm cơ bản về Perl, và bây giờ chúng ta sẽ xét đến những thành phần cấu trúc nên một chương trình Perl. I.Biểu. Trong vòng lặp if/unless, một biểu thức sẽ được kiểm tra tính đúng đắn, và nếu nó đúng thì một dãy các sự kiện sẽ được kích hoạt. Nếu nó sai thì một số phần khác trong script sẽ được kích hoạt.Sau. của những cặp bạn muốn di chuyển. vídụ: %wolf(4,”four” ,5,”five” ,6, ”six”); delete $wolf{5}; sẽ trả về dãy : %wolf (4,”four”, 6, “six”); -4- 3. Nhập / xuất : Chúng ta đã biết rằng chúng ta

Ngày đăng: 14/07/2014, 01:20

w