-3

例を使用して、perl プログラムを次のように開始します。

use strict;
use warnings;
use Time::HiRes;

違いは何ですか

 my $request_start_epoch = [Time::HiRes::gettimeofday];

 my $request_start_epoch = Time::HiRes::gettimeofday;

?

4

2 に答える 2

4

前者は、リスト コンテキストで関数を呼び出し、返されたリストの要素を含む無名配列をアセンブルし、$request_start_epochその配列への参照を設定します。

後者は、スカラー コンテキストで関数を呼び出し、その戻り値を に格納します$request_start_epoch

これらはほとんど常に異なります。それらが同じになるのは、スカラー コンテキストでの関数の動作が、リスト コンテキストの結果を無名配列にラップして、それへの参照を返す場合だけです。私はそのように書かれたメソッドを見たことがありませんが、どこかで誰かがどこかでそれをやったのは確かです!

于 2013-07-11T01:04:03.750 に答える