ishiducaの日記 このページをアンテナに追加 RSSフィード

2008-12-09

「うるう年かどうかチェックする」をif~elseを使わずに書いてみた 16:10 「うるう年かどうかチェックする」をif~elseを使わずに書いてみた - ishiducaの日記 を含むブックマーク はてなブックマーク - 「うるう年かどうかチェックする」をif~elseを使わずに書いてみた - ishiducaの日記 「うるう年かどうかチェックする」をif~elseを使わずに書いてみた - ishiducaの日記 のブックマークコメント

perl初心者さんが「うるう年かどうかチェックする」を書いているのを見て、if~elseのかわりにandとorで代用できるような気がしたので試してみた。コードがきれいとか汚いとかは度外視する。

#!/usr/bin/perl -wl
use strict;
my $year =  2008; # ここに調べたい年を入れる
( (($year % 4 == 0) and ($year % 100 != 0)) or ($year % 400 == 0) )
    and print "$year年は閏年"
    or print "$year年は閏年じゃない";

まだ、よくテストしてないけど、大丈夫じゃないかな。ま、それはともかく、見にくくて実用的じゃないね。

#!/usr/bin/perl -wl
use strict;
my $year =  2100;
my $flg = ((($year % 4 == 0) and ($year % 100 != 0)) or ($year % 400 == 0));
$flg and print "$year年は閏年"
    or print "$year年は閏年じゃない";

まだ、こっちの方が見やすいかな

トラックバック - http://perl.g.hatena.ne.jp/ishiduca/20081209