プロジェクトオイラーで自分自身にPerlを教えます。誰でも、
print "Hei" if 1==1;
チャームのように機能します。
ifの前にいくつかのステートメントを含めることは可能ですか?
{print "4";print="2";} if 4!=2;
特定の構文が機能しないことは承知していますが、私がやりたいことは明らかだと思います。可能かどうか?
追伸 私はまた、私が定期的にこれを行うことができることを知っています
if(){}
プロジェクトオイラーで自分自身にPerlを教えます。誰でも、
print "Hei" if 1==1;
チャームのように機能します。
ifの前にいくつかのステートメントを含めることは可能ですか?
{print "4";print="2";} if 4!=2;
特定の構文が機能しないことは承知していますが、私がやりたいことは明らかだと思います。可能かどうか?
追伸 私はまた、私が定期的にこれを行うことができることを知っています
if(){}
1)前述のように、do
ブロックを使用できます。
do {print "4";print "2";} if 4!=2;
2)Cのようにコンマを使用できます:
print("4"), print("2") if 4!=2;
この場合、角かっこで書く必要があることに注意してください。
3)print()が「1」を返すことがわかっているので、次のようになります。
print("4") && print("2") if 4!=2;
これは、最初のコマンドがtrueを返したときに機能します。
4)二項演算子の使用:
print("4") | print("2") if 4!=2;
print("4") & print("2") if 4!=2;
print("4") ^ print("2") if 4!=2;
# etc
これは常に機能するはずですが、通常の方法ではありません。
5)「配列」を使用する
(print("4"), print("2")) if 4!=2;
6)連結
print("4") . print("2") if 4!=2;
7)man perlop
そしてもっと見つける;)
*)良い人として書く:
if( 4!=2 ) {
print("4");
print("2");
}
do
その前に単に追加します。
do {print "4";print="2";} if 4!=2;
実際のシナリオでは、この種のコードはお勧めしません。普通
if (condition)
{
code;
}
フォームははるかに馴染みがあり、読みやすく、デバッグしやすく、制御の流れに関して読者をガイドするためのインデントがあります。
do
あなたはそれをブロックで包むことができます:
do {print 1; print 2; } if 1;