2017-03-29 3 views
1

一部のプログラミング言語では、ループ内の "continue"指示文を使用して次のループにスキップできます。この命令を持たない言語で同じことをどのように達成していますか?私は今この状況を必要とするポーヴェリの状況に直面しています。ありがとう。"continue"指示文および他の選択肢のシミュレート

答えて

1

最も単純なケースでは、単に条件を使用します。また

#for (i, from, to) 
    // do common actions 
    #if (<condition is true>) 
    // do something special to the condition 
    #end 
#end 

、POV-Rayの3.7 supports the #break statementあなたは再帰から少し助けを借りてcontinueをエミュレートするために使用できることを - しかし、これはかなり不器用と無粋です:

#macro LoopWithContinuation(from, to) 
    #for (i, from, to) 
    #if (<condition is true>) 
     LoopWithContinuation(i + 1, to) 
     #break 
    #else 
     // do something 
    #end 
    #debug "" 
    #end 
#end 

LoopWithContinuation(1, 20) 

はPOV-Rayが200の固定再帰の深さ制限がありますので、このアプローチは、長いループに適していないこと、しかし、覚えておいてください。

関連する問題