問題タブ [control-structure]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
130 参照

php - ハウツー - PHP でダイナミックに

PHPファイルに対してアクションを実行するフォームがあります。フォームが完成し、データがデータベースに挿入されると、「Awesome」と表示されます。Awesome が表示されていますが、フォームの上にあります。フォームを置き換えて素晴らしいディスプレイをしたいです。それ、どうやったら出来るの?

ありがとうございました。

0 投票する
28 に答える
8067 参照

loops - 便利な代替制御構造?

プログラミングをしていると、特定の制御構造が非常に役立つことがありますが、プログラミング言語では直接使用できません。私の最も一般的な欲求は「分割中」のようなものだと思います(実際にこれを何と呼ぶか​​わかりません):

このコードのセマンティクスは、foo()常に実行され、条件がチェックされるというものです。trueの場合、bar()が実行され、最初のブロックに戻ります(したがって、foo()再度実行するなど)。redditユーザーzxqdmsによるコメントのおかげで、Donald E. Knuthが彼の論文「Structuredprogrammingwithstatements go to(279ページを参照)でこの構造について書いていることを知りました。

計算を整理するのに役立つ代替制御構造は何だと思いますか?

ここでの私の目標は、チャンク化と推論を改善するために、コードの構造化について自分自身と他の人に新しい考え方を与えることです。

:Lispマクロ、継続、モナド、コンビネータ、クォークなどを使用して、考えられるすべての制御構造を一般化する方法については質問していません。コードを記述するのにどの専門分野が役立つのか尋ねています。jneifgoto

0 投票する
1 に答える
278 参照

haskell - Haskellの末尾呼び出しメモリ管理

私は次の制御構造を使用しています(これは末尾再帰だと思います)

反復深化を行うには

この空きメモリは(技術的には到達できなくなるため)、各反復深化後のようになりますか?そうでない場合は、制御構造をどのように書き直す必要がありますか?

PS 2番目に、末尾再帰構造は、この場合ではなくても、前の値に追加するようにスタック上のものにアクセスできることが多いため、これは失敗するように見えます。– Roman A.Taycher11月28日12:33PPS3番目に、dfsWithMaxDepthが返されるとすぐに、dfsWithMaxDepth内の値を破棄できると思いますが、多くの回答は多くのメモリを消費しません。–ローマンA.タイチャー11月2日

0 投票する
4 に答える
1594 参照

scala - Scala:いくつかのコードブロックを持つカスタムコントロール構造

のように、複数のコードブロックを使用してカスタム制御構造を作成することは可能before { block1 } then { block2 } finally { block3 }ですか?問題は砂糖の部分だけです-のようなメソッドに3つのブロックを渡すことで、機能を簡単に実現できることを私は知っていますdoInSequence(block1, block2, block3)

実際の例。私のテストユーティリティでは、次のような構造を作成したいと思います。

編集

最後に私はこの解決策を思いついた:

出力は次のとおりです。

これは主にトーマス・ロックニーの回答に基づいています。コンパニオンオブジェクトを追加しただけです。import MyTimer._

みんなありがとう。

0 投票する
7 に答える
374 参照

language-agnostic - forループに侵入

あなたがこのコードを持っていると仮定します:

PHP固有(これはすべての言語に適用されます)またはこの特定の例について話しているのではないことに注意してください。これは、forループを中断することです(この場合、trueを返し、ループを停止します)。

私の先生によると、これは非常に、非常に悪いことであり、行われていない習慣です。

ループから抜け出すことは本当に行われていない習慣ですか?

ありがとう

0 投票する
4 に答える
1349 参照

programming-languages - 標準の条件とループを超えた制御構造?

構造化プログラミング言語には通常、、、、、、、などのいくつかの制御構造がありwhile、ソースifコードforで高レベルの構造を表現するために使用されます。doswitchbreakcontinue

ただし、何年にもわたって提案されてきた、現代のプログラミング言語に移行していない他の多くの制御構造があります。たとえば、Knuthの論文「GoToステートメントを使用した構造化プログラミング」(275ページ)では、例外処理の簡略版のように見える制御構造を参照しています。

これは便利な構造のように見えますが、標準の例外処理の特殊なケースとして、実際にそれを実装している言語は見たことがありません。

同様に、Edsger Dijkstraは、多くのコードの1つが、真である可能性のある一連の条件に基づいて非決定的に実行される制御構造を使用することがよくありました。これは、smoothsortに関する彼の論文の10ページにあります。サンプルコードは次のようになります。

歴史的に、CはC ++、C#、Javaなどの多くの現代言語に影響を与え、今日使用している多くの制御構造はCが提供する小さなセットに基づいていることを理解しています。しかし、この他のSOの質問からも明らかなように、プログラマーは考えたいと思います。私たちが望んでいるが、多くのプログラミング言語でサポートされていない代替の制御構造について。

私の質問はこれです-私が上で述べたCスタイルの制御構造とは根本的に異なる制御構造をサポートする今日使用されている一般的な言語はありますか? このような制御構造は、標準のC構造を使用して表現できないものである必要はありません。ほとんどすべてをそのようにエンコードできますが、理想的には、特定のプログラミングタスクにアプローチできるものの例を示します。 Cモデルで許可されている方法とは根本的に異なります。

いいえ、「関数型プログラミング」は実際には制御構造ではありません。

0 投票する
5 に答える
6461 参照

javascript - 有効な入力を受け取るまで JavaScript if..else if ステートメントを続行するにはどうすればよいですか?

if... else if ステートメントを使用して、ユーザーに有効な応答を求め続けるにはどうすればよいですか? 私のスクリプトは現在一度動作しますが、その後壊れます:

前もって感謝します!

0 投票する
5 に答える
359 参照

javascript - Javascriptの高度な構成

ブラウザでのPDFレンダリングを扱う興味深いプロジェクトをgithubで見つけました。

このトピックに興味があるのでコードを読み込もうとしましたが、JavaScriptの知識が不十分(不十分)であることに気付きました。

次のような構成があります。

あなたは上のリンクでそれらのより多くを見ることができます。

プロジェクトのコードを簡単に理解し、後でプロジェクトに貢献できるようにするために学習するリソースを教えてください。

0 投票する
2 に答える
201 参照

c++ - 制御構造での変数の定義

標準によると、制御構造で変数を宣言する場合と、他の場所で変数を宣言する場合の動作の違いは何ですか? 私はそれについての言及を見つけることができないようです。

私が言っていることが明確でない場合は、例を次に示します。

ご覧のとおりobj、if ブロックでローカル変数 を宣言して初期化しています。

また、条件の代わりにこの構文を使用した場合に特別な動作が与えられない理由について、技術的な理由はありますか? たとえば、括弧のセットを追加すると、コンパイラ エラーが発生します。これにより、変数が他の条件と連鎖することも防止されます。

0 投票する
3 に答える
253 参照

php - PHP キャッシュ構造 (HIT の場合はコード ブロックをスキップ)

基本的に、独自のキャッシュシステムを実装しています。理想的には、次のようになります。

しかし、それは私が見つけることを望んでいない聖杯です。基本的に、$CACHE->start() はキャッシュがヒットかミスかをチェックし、ヒットした場合は $CACHE->end() まで //CODE をスキップします。

私がこれまでに行った中で最高のものは次のとおりです。

PHP は無名関数をサポートしているため、次のことを考えていました。

しかし、このコードには、コードが同じ変数スコープにないという問題があります。それを回避するチャンスはありますか?

更新:その後、ブロックを関数に渡すことができるルビーに切り替えました。このタスクに最適です。