- 921. Thêm tối thiểu để làm cho dấu ngoặc đơn hợp lệ Thêm tối thiểu để làm cho dấu ngoặc đơn hợp lệ
- 915. Phân vùng mảng thành các khoảng rời rạc
- 932. Mảng đẹp Mảng đẹp
- 940. Dãy số riêng biệt II Dãy số khác nhau II
Tham chiếu trong Perl đề cập đến một kiểu vô hướng có thể trỏ đến một biến, mảng, bảng băm (còn được gọi là mảng kết hợp) hoặc thậm chí là một hàm và có thể được áp dụng ở bất kỳ đâu trong chương trình.
Khi xác định một biến, hãy thêm \ vào trước tên biến để lấy tham chiếu đến biến.
$scalarref = \$foo; # Tham chiếu biến vô hướng $arrayref = \@ARGV; # Tham chiếu danh sách $hashref = \%ENV; # Tham chiếu hàm băm $coderef = \&handler; # Tham chiếu hàm $globref = \*foo; thẩm quyền giải quyết
Sử dụng [] để xác định tham chiếu đến một mảng ẩn danh:
$aref= [ 1,"foo",undef,13 ];
Các phần tử của mảng ẩn danh vẫn có thể là mảng ẩn danh. Chúng ta có thể sử dụng phương pháp này để xây dựng một mảng các mảng và chúng ta có thể xây dựng một mảng có kích thước bất kỳ.
$aref của tôi = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], ]
Sử dụng {} để xác định tham chiếu băm ẩn danh:
$href= { APR =>4, AUG =>8 };
Thậm chí có thể định nghĩa một hàm ẩn danh (tham chiếu đến hàm ẩn danh):
$coderef = sub { print "Chào mừng đến với www.ddkk.com!\n" };
Để lấy giá trị được lưu trữ ban đầu từ biến được tham chiếu, bạn có thể sử dụng nó theo các kiểu dữ liệu khác nhau. $
ký hiệu , @ hoặc %
#!/usr/bin/perl =pod file: mail.pl tác giả: DDKK.COM Nhìn này em trai, Trạm thông tin lập trình lập trình viên (www.ddkk.com) Bản quyền © 2015-2065 www.ddkk.com. . =cut $var = 10; # $r tham chiếu đến $var vô hướng $r = \$var; # Xuất ra giá trị biến của $r được lưu trữ cục bộ print "$var is: ", $$r, "\n"; @var = (1, 2, 3); # $r tham chiếu đến mảng @var $r = \@var; # Xuất ra giá trị biến của $r được lưu trữ cục bộ print "@var là: ", @$r, "\n"; %var = ('key1' => 10, 'key2' => 20); # $r đề cập đến mảng %var $r = \%var; # Xuất ra giá trị biến của $r được lưu trữ cục bộ print "%var is: ", %$r, "\n";
Kết quả thực hiện ví dụ trên là:
$ perl main.pl 10 là: 10 1 2 3 là: 123 %var là: key110key220
Nếu chúng ta không chắc chắn về loại biến đang được tham chiếu, chúng ta có thể sử dụng giới thiệu Để đánh giá danh sách giá trị trả về như sau, nếu không có giá trị sau thì trả về false
MÃ BẰNG SCALAR MÃ Băm GLOB REF
#!/usr/bin/perl =pod file: mail.pl tác giả: DDKK.COM Nhìn này em trai, Trạm thông tin lập trình lập trình viên (www.ddkk.com) Bản quyền © 2015-2065 www.ddkk.com. . =cut $var = 10; $r = \$var; print "Loại tham chiếu của r: ", ref($r), "\n"; 3); $r = \@var; print "Loại tham chiếu của r: ", ref($r), "\n"; %var = ('key1' => 10, 'key2' => 20); r = \%var; print "Loại tham chiếu của r: ", ref($r), "\n";
Chạy ví dụ trên, kết quả đầu ra như sau:
$ Perl main.pl Kiểu tham chiếu của r: SCALAR Kiểu tham chiếu của r: ARRAY Kiểu tham chiếu của r: HASH
Tham chiếu vòng xảy ra khi hai tham chiếu chứa nhau.
Chúng ta phải sử dụng cẩn thận, nếu không sẽ gây rò rỉ bộ nhớ
#!/usr/bin/perl =pod file: mail.pl tác giả: DDKK.COM Nhìn này em trai, Trạm thông tin lập trình lập trình viên (www.ddkk.com) Bản quyền © 2015-2065 www.ddkk.com. . =cut $foo = 100 của tôi; print "Giá trị của foo là : ", $$foo, "\n";
Kết quả thực hiện ví dụ trên là:
$ perl main.pl Giá trị của foo là: REF(0x7fc50a008bc8)
Có thể tạo một tham chiếu đến một hàm trong Perl
Định dạng tham chiếu hàm là: &
Định dạng hàm tham chiếu gọi: & + tên tham chiếu đã tạo
#!/usr/bin/perl =pod file: mail.pl tác giả: DDKK.COM Nhìn này em trai, Trạm thông tin lập trình lập trình viên (www.ddkk.com) Bản quyền © 2015-2065 www.ddkk.com. . =cut # Định nghĩa hàm phụ PrintHash{ my (%hash) = @_; foreach $item (%hash){ print "Element: $item\n"; %hash = ('name' => 'DDKK.COM, trang thông tin lập trình của lập trình viên', 'age' => 3); # Tạo tham chiếu đến hàm $cref = \&PrintHash; $ cref(%hash);
Chạy ví dụ trên, kết quả đầu ra như sau:
$ perl main.pl Element: age Element: 3 Element: name Element: DDKK.COM Nhìn đi anh em, trang thông tin lập trình dành cho lập trình viên
Câu hỏi này đã có câu trả lời ở đây: đã đóng cửa 10 năm trước. Có thể trùng lặp: truyền mẫu theo giá trị hoặc tham chiếu const hoặc…?
Tôi đang nạp chồng một toán tử hai lần với cùng một danh sách tham số. Nhưng kiểu trả về thì khác: T& operator()(par_list){blablabla} const T& operator()(par_list){bla
Giả sử tôi có Hoạt động A triển khai giao diện I. Lớp ViewModel (VM) của tôi chứa tham chiếu đến một đối tượng triển khai giao diện I: lớp A mở rộng
PHP diễn giải &$cái này như thế nào? Tại sao nó được cho phép? Tôi đang gặp phải sự cố sau, có vẻ như là lỗi trong PHP 7.1 và 7.2. Nó hoạt động với các tham chiếu &$this và các lệnh gọi không gian tên chéo cũng như call_user_func_arr
Bất cứ ai có thể giải thích chức năng của "&" bên dưới: class TEST { } $abc =& new TEST(); Nhưng ai đó có thể giải thích tại sao và khi nào tôi cần thứ gì đó như thế này không? Hoặc chỉ cho tôi một người có lời giải thích tốt về điều này
Biến tham chiếu là bí danh, nghĩa là nó là tên gọi khác của biến hiện có. Khi một tham chiếu được khởi tạo cho một biến, bạn có thể sử dụng tên tham chiếu hoặc tên biến để trỏ đến biến đó. Tham chiếu C++ và tham chiếu con trỏ dễ bị nhầm lẫn với con trỏ, có ba điểm khác biệt giữa chúng
Mục lục Giới thiệu Bối cảnh Kết luận Giới thiệu Tôi chọn viết về tài liệu tham khảo trong C++ vì tôi cảm thấy rằng hầu hết mọi người đều hiểu sai tài liệu tham khảo. Và lý do khiến tôi cảm thấy như vậy là vì tôi đã tổ chức nhiều cuộc phỏng vấn về C++ và tôi hiếm khi
Một tham chiếu trong Perl đề cập đến một kiểu vô hướng có thể trỏ đến một biến, mảng, bảng băm (còn được gọi là mảng kết hợp) hoặc thậm chí là một hàm. Nó có thể được sử dụng để tạo một tham chiếu và xác định một biến ở bất kỳ đâu trong chương trình. thêm \ vào trước tên biến Có tham chiếu đến biến $sc này.
Tôi đã viết một mô-đun Perl sẽ được tải từ tập lệnh chính. Mô-đun này sử dụng các chương trình con được xác định trong tập lệnh chính (Tôi không phải là người duy trì). Đối với chương trình con trong tập lệnh chính, cần có phần mở rộng, nhưng tôi không muốn vá tập lệnh chính. Thay vào đó, tôi muốn ghi đè hàm trong mô-đun của mình và lưu ví dụ con ban đầu
Tôi đã dành vài giờ để cố gắng thành thạo Báo giá F#, nhưng tôi đã gặp phải một số trở ngại. Yêu cầu của tôi là lấy các hàm đơn giản (chỉ số nguyên, +, -, /, *) từ loại kết hợp có thể phân biệt được và tạo cây biểu thức mà cuối cùng sẽ được sử dụng để tạo mã C. Tôi biết sử dụng
Nhiều khi, các câu hỏi (đặc biệt là những câu hỏi được gắn thẻ biểu thức chính quy) hỏi về cách xác minh mật khẩu. Có vẻ như người dùng thường tìm kiếm các phương pháp xác minh mật khẩu bao gồm việc đảm bảo rằng mật khẩu chứa các ký tự cụ thể, khớp với các mẫu cụ thể và/hoặc tuân theo số lượng ký tự tối thiểu. Bài viết này nhằm mục đích giúp người dùng tìm đúng mật khẩu
Tôi muốn tham chiếu ô cuối cùng chứa văn bản theo địa chỉ (ví dụ: C800) trong hàm MIN. bạn có thể giúp được không? Sub Set_Formula() '----------------------------- Dim
Sử dụng vòng lặp for thông thường, tôi có thể làm một số việc như: for (let i = 0; i < object.length; i++) { delete object[i] } Regular for-;
Trong Cucumber, bạn xác định các bước xác định cú pháp BDD; ví dụ: thử nghiệm của bạn có thể có: Khi tôi điều hướng đến bước 3 và sau đó bạn có thể xác định một bước: Khi /^I điều hướng t
Mục đích của UnaryExpression là gì và nên sử dụng nó như thế nào? Câu trả lời hay nhất Nó lấy một đối tượng Biểu thức và gói nó bằng một Biểu thức khác. Ví dụ: nếu bạn có một biểu thức cho lambda.
Cho $("#identifier div:first, #idetifier2").fadeOut(300,function() { // Tôi cần tham khảo jus
Tôi không biết thuật ngữ chính xác cho những gì tôi đang tìm kiếm, nhưng những gì tôi đang tìm kiếm là một trích dẫn hoàn chỉnh có thể được đặt giữa dấu ngoặc kép trong các câu lệnh như *, node(), @* và tất cả được liệt kê ở đây cộng với Bất cứ điều gì khác tồn tại. Câu trả lời tôi liên kết để cung cấp một số chi tiết, nhưng cũng
Câu trả lời cho câu hỏi này là nỗ lực của cộng đồng. Chỉnh sửa câu trả lời hiện có để cải thiện bài đăng này. Hiện tại nó không chấp nhận câu trả lời hoặc tương tác mới. Cái gì thế này? Đây là tập hợp các câu hỏi thường gặp. Đây cũng là một cộng đồng Wi
Đã đóng. Câu hỏi này không đáp ứng các nguyên tắc của Stack Overflow. Nó hiện không chấp nhận câu trả lời. Bạn muốn cải thiện vấn đề này? Cập nhật câu hỏi để nó thuộc chủ đề
Hãy xem xét đoạn mã tiếp theo: fn get_ref(slice: &'a Vec, f: fn(&'a Vec) -> R) -> R trong đó R: 'a, { f(slice) } fn m
Tôi là một lập trình viên xuất sắc, rất giỏi!