perl中的 符號的主要用法解釋

2021-04-26 23:09:22 字數 863 閱讀 2349

->符號 第一種用法,就是解引用。

根據 -> 後面跟的符號的不同,解不同型別的引用,-> 表示解陣列引用,->{} 表示解雜湊引用,->() 表示解子程式引用。

例子:$arr_ref = /@array;

$arr_ref->[0] 訪問陣列 @array 的第乙個元素。

$hash_ref = /%hash;

$hash_ref-> 訪問 %hash 的 foo 分量

$sub_ref = /&test;

$sub_ref->(1, 2, 3) 使用引數列表 (1,2,3) 來呼叫 &test 這個子程式。

->符號 第二種用法,就是呼叫類或者物件的方法。

格式:$obj->method();

或者classname->method();

例如:$pop3->login( $username, $password );

my $ftp = net::ftp->new("some.host.name", debug => 0);

這兩種用法略有不同,

但是總的來說,符合以下規則:

假設 -> 的左運算元(就是左邊那個值,如 $pop3 和 net::ftp)是 $left,右運算元(就是右邊那個值,如 login 和 new)是 $right,那麼 -> 的運算規則就是:

if ( ref $left 有效 )

else

然後呼叫:

&( $left, 原引數列表 )

也就是說把類名稱和右運算元拼在一起,當作子程式名稱(注),並把左運算元當作第乙個引數。

注:perl 直譯器要做的工作其實要比這複雜,它還要考慮到繼承的問題。

VC中sizeof的主要用法

1 sizeof應用在結構上的情況 請看下面的結構 struct mystruct double dda1 char dda int type 對結構mystruct採用sizeof會出現什麼結果呢?sizeof mystruct 為多少呢?也許你會這樣求 sizeof mystruct sizeo...

const 的主要用法

const 主要是為了增強程式的健壯性,減少程式少出錯。const 修飾的值是常量,在c語言中更精確的說是唯讀的變數,在編譯時是不能改變的。編譯器通常不為普通const 唯讀變數分配儲存空間 const int m 1 此時並未將m 放入記憶體中 const int a 100 同時也可以這樣修飾i...

operator 的主要用法

1 operator 用於型別轉換函式 型別轉換函式的特徵 1 型別轉換函式定義在源類中 2 必須須由 operator 修飾,函式名稱是目標型別名或目標類名 3 函式沒有引數,沒有返回值,但是有return 語句,在return語句中返回目標型別資料或呼叫目標類的建構函式。型別轉換函式主要有兩類 ...