Chức năng sqrt() trong Perl

Perl ngôn ngữ đã được tích hợp trong chức năng sqrt(). Này, trở về chức năng vuông gốc của nó, cuộc tranh luận.

Đây là một ví dụ:

▶ Run
#!/usr/bin/perl

print( sqrt(2) );

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

Lập luận

my $value = sqrt($number);

Nếu các chức năng sqrt() phải vượt qua một cuộc tranh luận, các chức năng sẽ hoạt động vào nó.

Nếu anh không vượt qua mọi cuộc tranh cãi, các chức năng sẽ làm việc với những định biến $_. Đây là một ví dụ (chương trình hiển thị các số 2):

▶ Run
#!/usr/bin/perl

$_ = 4;

print( sqrt() );

Nếu các chức năng sqrt() vượt qua nhiều hơn một cuộc tranh luận, nó sẽ lỗi:

Too many arguments for sqrt at script.pl line 3, near "2) "
Execution of script.pl aborted due to compilation errors.

Trở lại giá trị

Nếu các chương trình không được sử dụng Perl module Math::Complex, kết quả của những chức năng sqrt() luôn là số một.

Nhưng nếu chương trình có một mô-đun Math::Complex, thì kết quả có thể là một chuỗi các nhân vật cuối cùng mà thư 'i', ví dụ '1.73205080756888i'.

Trong trường hợp của tiêu cực giá trị của cuộc tranh luận

Nếu các chương trình không được sử dụng Perl module Math::Complex và các chức năng sqrt() thông qua một giá trị tiêu cực ngoại lệ sẽ bị ném và chương trình kết thúc:

▶ Run
#!/usr/bin/perl

print( sqrt(-9) );
Can't take sqrt of -9 at script.pl line 3.

Khi sử dụng module Math::Complex chức năng sqrt() làm việc với giá trị tiêu cực. Đây là một mẫu chương trình hiển thị các văn bản 3i.

▶ Run
#!/usr/bin/perl

use Math::Complex;

print( sqrt(-9) );

Tài liệu chính thức

Đây là kết quả của sự chỉ huy perldoc -f sqrt:

       sqrt EXPR
       sqrt    Return the positive square root of EXPR.  If EXPR is omitted,
               uses $_.  Works only for non-negative operands unless you've
               loaded the "Math::Complex" module.

                   use Math::Complex;
                   print sqrt(-4);    # prints 2i

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