Cái gì là sự khác biệt giữa một đôi trích dẫn trong Perl

Perl ngôn ngữ lập trình để tạo ra một chuỗi trong chương trình của bạn, bạn có thể sử dụng mã đơn ' hoặc kép ".

Có một sự khác biệt. Trong giá duy nhất làm việc chỉ trình tự thoát \\\', trong đôi giá, ngoại trừ hai việc một số khác trốn thoát trình tự. Và chỉ khi bạn sử dụng đôi trích dẫn, tên biến mở ra trong giá trị (suy xảy ra). Thêm chi tiết.

Tổng

Đơn và đôi trích dẫn trong những Perl ngôn ngữ được sử dụng để miêu tả dây trong chương trình mã (dòng trong chương trình văn bản được gọi là "chuỗi chữ"). Đây là một ví dụ:

▶ Run
#!/usr/bin/perl

my $str1 = 'Hello, world!';
my $str2 = "Hello, world!";

Trong chương trình này, chúng tôi tạo ra hai biến, và mỗi người trong số họ đã chiếm đoạt nhà dòng. Trong ví dụ này, không có sự khác biệt giữa sử dụng đôi và duy nhất trích dẫn, chuỗi chúng tôi nhận được trong đầu tiên và trong lần thứ hai trường hợp, hoàn toàn cùng.

Gạch chéo ngược

Một điểm chung là để sử dụng đôi và giá duy nhất là làm thế nào để hành động, nếu bạn cần đến trong dòng là một biểu tượng gạch chéo ngược \. Nếu bạn muốn để tạo ra một dòng với biểu tượng này, trong một chuỗi theo nghĩa đen, bạn cần phải viết hai gạch chéo ngược \\. Trong chuỗi kết quả sẽ là một dấu gạch chéo ngược. Đây là một ví dụ:

▶ Run
#!/usr/bin/perl

my $str1 = '\\';
my $str2 = "\\";

print $str1, "\n";
print $str2, "\n";

Chương trình này sẽ hiển thị:

\
\

Các trích dẫn trong chuỗi

Đầu tiên sự khác biệt giữa một đôi trích dẫn là bạn cần làm để tạo ra một dòng trong đó có một hoặc hai giá.

Cách duy nhất trích dẫn nó là rất dễ dàng để tạo ra một chuỗi đó có trích dẫn: '"'. Nhưng nếu cần phải làm cho một chuỗi trong đó có duy nhất báo, nó phải được viết bằng cách sử dụng hai nhân vật: đảo ngược cắt giảm \ và báo. '\'' — như một chuỗi chữ tạo ra một chuỗi từ một biểu tượng "báo duy nhất".

Trong trường hợp của kép — tất cả các con đường xung quanh. Nó là thuận tiện để tạo một chuỗi với một giá duy nhất "'", và để đến nơi trong chuỗi đôi, báo cần phải viết thư, trước khi nó với một gạch chéo ngược (điều này được gọi là "kiểm tra") "\"".

Việc sử dụng các nhân vật đặc biệt

Khi bạn sử dụng giá duy nhất chỉ có hai bộ của các biểu tượng đó được chuyển thành một nhân vật duy nhất. Này, như chúng ta đã thấy trước đó, hai lại chém \\ — họ biến thành một gạch chéo ngược; và nó có thể chạy, và giá duy nhất \' được chuyển thành một biểu tượng "báo duy nhất".

Nhưng khi bạn sử dụng đôi trích có rất nhiều những bộ của các biểu tượng (thường được gọi là "thoát khỏi dãy"). Người nổi tiếng nhất, và thường xuyên sử dụng là một sự kết hợp của các biểu tượng \n. \ntrong đôi trích dẫn biến thành một nhân vật đặc biệt "dòng mới". Nếu duy nhất trích dẫn print 'ASDF\nQWERTY'; hiển thị ASDF\nQWERTY, và nếu bạn sử dụng đôi giá print "ASDF\nQWERTY"; sẽ xuất hiện trên màn hình hai dòng:

ASDF
QWERTY

Khác sử dụng chuỗi thoát là \t, khi được sử dụng trong đôi trích dẫn nó trở nên in the tab nhân vật. Không phải rất thường xuyên, nhưng vẫn được sử dụng \b, này, nhân vật đặc biệt xóa ký tự trước (có thể được sử dụng để tạo ra, rất đơn giản, hình ảnh trong những điều khiển). Có một số thoát hơn trình tự, họ ít được sử dụng.

Suy của biến

Nếu các chuỗi được tạo sử dụng đôi giá để viết tên biến tên chuỗi sẽ xuất hiện những giá trị này biến (khi sử dụng giá duy nhất trong chuỗi sẽ là tên).

Này, đặc tính của ngôn ngữ rất thường được sử dụng.

▶ Run
#!/usr/bin/perl

my $var = 'John';

my $str1 = 'Hello, $var';
my $str2 = "Hello, $var";

print $str1, "\n";
print $str2, "\n";

Chương trình này sẽ hiển thị:

Hello, $var
Hello, John

Chuỗi $str1 chúng tôi tạo ra sử dụng giá duy nhất trong chuỗi chứa chính xác những gì được viết trong chuỗi theo nghĩa đen — 'Hello, $var'. Và trong dòng $str2 tên biến $var thay thế bằng những giá trị này biến.

Xin lưu ý rằng chỉ có triển khai giả và mảng:

▶ Run
#!/usr/bin/perl

my $var = 'John';
my @arr = ('one', 'two');
my %h = (
    a => 1,
);

sub my_sub {
    return 12;
}

print "$var @arr %h &my_sub";

Này, chương trình hiển thị các văn bản John one two %h &my_sub. Các vô $var và, các mảng @arr lại giá trị và băm %h và Saba my_sub — không.

Đề nghị

Trong nhiều trường hợp, để tạo chuỗi chữ dù sao, vì vậy, và duy nhất và đôi giá sẽ làm việc cùng. Đề nghị này nếu một chuỗi Litera vẫn sử dụng nó, sử dụng dấu nháy đơn.

Các bài viết khác