最新の「新着記事」はここから New!
2008-06-08
コンテキスト
Perlにはコンテキストと呼ばれる概念があります。スカラとして評価される文脈を、スカラコンテキスト、リストとして評価される文脈をリストコンテキストと呼びます。
# スカラコンテキスト $scalar = localtime; # リストコンテキスト @list = localtime;
Perlの関数は、スカラを要求される場所では、スカラ用の戻り値を、リストを要求される場所では、リスト用の戻り値を返却することができます。
スカラコンテキストとリストコンテキストの区別は、Perlを触っているうちに自然に覚えていきます。ここで示したのはひとつの例です。左辺がスカラなら、スカラコンテキスト、左辺が配列ならば、リストコンテキストになります。
サンプル
スカラコンテキストとリストコンテキストを理解するためのサンプルです。
use strict; use warnings; # スカラコンテキストとリストコンテキスト print "1:localtime関数で、コンテキストの意味を知る。\n"; my $scalar; my @list; # 左辺が、スカラなので、スカラ用 # の戻り値が返ります。 $scalar = localtime; # 左辺が、配列なので、リスト用 # の戻り値が返ります。 @list = localtime; print "スカラコンテキストでは、書式化された日付\n", "'$scalar'\n\n"; print "リストコンテキストでは、年月日と時間の値のリスト\n" . join(',', @list) . "\n\n";


