人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

perlの文法についての質問です。
if(@hogehoge){
???
}
上記のような構文があったのですが、ifの条件式はTrueもしくはFalseを判定するものと思いますが、この場合、@hogehogeという配列をどういう基準でTrueもしくはFalseとして扱うのですが

●質問者: n_maco2
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Perl 配列
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● xtal_0617
●35ポイント

どことなくうろ覚えですが…

ifにおける評価はスカラーコンテキストで評価されるので、

@hogehogeの要素数が判定対象になると思います。

Perlでは0を偽と判定するので、

となるのではないでしょうか?

◎質問者からの返答

なるほど、ありがとうございます


2 ● tkyk3
●35ポイント

要素数で比較します。

0だとFalse、0以外はTrueなので、

my @array = ( 'one', 'nyan', 'chu' );
my $num = @array; # $numは3(個)
if ( @array ) {
 print "配列数は$num個です。";
}

間違っていたらすみません。

◎質問者からの返答

わかりやすいサンプルありがとうございます

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ