Cuối cùng, dấu phẩy trong Perl danh sách

Các mục trong danh sách trong Perl ngôn ngữ riêng với các nhà điều hành dấu phẩy ,. Đây là một ví dụ những mã đó, tạo ra các mảng đó là 3 yếu tố:

▶ Run
#!/usr/bin/perl

my @arr = ('one', 'two', 'three');

Perl, trái ngược với ví dụ như, các MẢNG cho phép anh để xác định một dấu phẩy ở cuối danh sách. Mã này tạo ra một cùng một mảng như trong ví dụ trước:

▶ Run
#!/usr/bin/perl

my @arr = ('one', 'two', 'three',);

Mảng này bao gồm của ba yếu tố. Thực tế là cuối cùng có được một số thập phân điểm không có hiệu lực. Bạn sẽ đề nghị rằng sự hiện diện của một dấu phẩy ở cuối danh sách thêm undef như giá trị cuối cùng, nhưng không có, điều này không xảy ra. Nếu đó là một dấu phẩy ở cuối danh sách hay không, nó không ảnh hưởng như thế nào Perl interpreterpath danh sách này.

Đề nghị

Perl ngôn ngữ dù sao — có trong danh sách cuối cùng dấu phẩy hay không, nhưng chương trình viết không chỉ phải hiểu Perl, nhưng để có thể hiểu mọi người. Vì vậy, đó là sau đề nghị, nếu bạn làm theo nó, mã trở nên dễ dàng hơn một chút để đọc và dễ dàng hơn một chút thay đổi.

Đề nghị những điều sau đây:

  • nếu danh sách này được viết vào một chuỗi, cuối cùng dấu phẩy không nên
  • nếu mỗi mục danh sách này được viết trong một đường dây riêng, sau khi tố cuối cùng phải là một dấu phẩy

Đề nghị này sau đó

  • nếu trong quá trình danh sách thay đổi được sử dụng để được viết trong một dòng, và đã được ghi lại bởi những giá trị trong chuỗi, sau đó bạn cần thêm một dấu phẩy
  • và nếu một người trải qua danh sách tạo ra một danh sách trong một dòng cuối cùng, dấu phẩy là cần thiết để bỏ

Đây là một ví dụ của mã mà tuân theo đề nghị này:

▶ Run
#!/usr/bin/perl

my @arr1 = ('one', 'two', 'three');

my @arr2 = (
    'one',
    'two',
    'three',
);

my %h = (
    a => 1,
    b => 2,
);

Nếu danh sách, mỗi phần tử đó được ghi lại trong dòng có tất nhiên là dấu phẩy và bạn cần thêm một nguyên tố ở cuối danh sách, sau đó chú sẽ bao gồm một dòng từ xa và hai thêm:

diff --git a/script.pl b/script.pl
index 5634af0..eabe2f1 100644
--- a/script.pl
+++ b/script.pl
@@ -3,5 +3,6 @@
 my @arr = (
     'one',
     'two',
-    'three'
+    'three',
+    'four'
 );

Nếu là giấy giới thiệu quan sát và ở cuối danh sách này là cuối cùng dấu phẩy, sự khác biệt bao gồm một rõ ràng dòng:

diff --git a/script.pl b/script.pl
index 8575677..82b3adf 100644
--- a/script.pl
+++ b/script.pl
@@ -4,4 +4,5 @@ my @arr = (
     'one',
     'two',
     'three',
+    'four',
 );

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