3

プロジェクトオイラーで自分自身にPerlを教えます。誰でも、

print "Hei" if 1==1;

チャームのように機能します。

ifの前にいくつかのステートメントを含めることは可能ですか?

{print "4";print="2";} if 4!=2;

特定の構文が機能しないことは承知していますが、私がやりたいことは明らかだと思います。可能かどうか?

追伸 私はまた、私が定期的にこれを行うことができることを知っています

if(){}
4

3 に答える 3

9

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");
}
于 2012-11-24T10:32:26.467 に答える
8

doその前に単に追加します。

do {print "4";print="2";} if 4!=2;

実際のシナリオでは、この種のコードはお勧めしません。普通

if (condition)
{
    code;
}

フォームははるかに馴染みがあり、読みやすく、デバッグしやすく、制御の流れに関して読者をガイドするためのインデントがあります。

于 2012-11-24T10:20:05.627 に答える
5

doあなたはそれをブロックで包むことができます:

do {print 1; print 2; } if 1;
于 2012-11-24T10:18:48.403 に答える