|ATOM |RDF トップ «前の日記(2003-02-17 [月]) 最新 次の日記(2003-02-19 [水])» 編集 a
2002|03|04|05|06|07|08|09|10|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|07|08|09|10|
2006|02|05|06|

たわごと


2003-02-18 [火]

_ C#

arrin氏にちょいと勧められてC#をちょっと見てみることに。

_ Perl-条件判断文あれこれ

Perlでは条件判断文として、C言語のようにif文が使われます。しかし、C言語とは異なり、if文の後が単文であろうと、{ }を省略することはできません。

if ($x < 5){			# { } を省略することは不可能
	print $x;
}

実用上問題はありませんが、少々面倒ではあります。そこを、do文を使うことで簡潔に書くことができます。

do{
	print $x;
} if ($x < 5)

ここで、do{...}文が単文であれば、そこを省略することが可能なので、

print $x if ($x < 5);

このように簡潔に書くことができます。

別アプローチとしては、&&演算子を使うという手もあります。&&演算子というのは、左辺値が真ならば右辺値を調べにいき、左辺値が偽ならば、そこで偽と判断する(右辺値を計算しに行かない)という性質を持っています(ショートカット演算子と呼ばれます)。これを用いれば、このように書くことができます。

($x < 5) && print $x;

条件判断式が前方にあるので、C言語に慣れている人はこちらのほうが見やすいかと思います。ちなみに、unless文にあたるのは||を使って表現できます。

unless ($x >= 5) {print $x;}	# ($x >= 5)が偽ならばprint $x;
print $x unless ($x >= 5);	# do-unlessを用いて表現
($x >= 5) || print $x;		# ||演算子を用いて表現

では、if-else文にあたるものはどうやって書けばよいのでしょうか。これは三項演算子?:を用いて表現ができます。

if ($x < 5) {
	print "xは5未満です\n";
}else{
	print "xは5以上です\n";
}

($x < 5) ? print "xは5未満です\n" : print "xは5以上です\n";

他人のソースを見る時のために、いろいろなスタイルを知っておくと便利でしょう。

_ [] ぱんださんようちえん / 再生ハイパーべるーヴ

えー・・・なんというか、よほどの耐性を持っていないと聞けない曲。このページで試聴が可能です。歌っているのは任意ラジヲのさくら。btmに勧めたところ・・・はまってしまったようです・・・

本日のTrackBacks(全3件) [TrackBack URL: http://yaya.sakuratan.com/diary/tb.rb/20030218]
_ hermes alligator bag:hermes alligator bag (2014-11-25 [火] 03:10)

hermes wien たわごと(2003-02-18)

_ hermes style bag:hermes style bag (2014-11-27 [木] 00:25)

hermes paket shop zu shop たわごと(2003-02-18)

cheap hermes bags australia たわごと(2003-02-18)