問題タブ [control-flow]
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.
control-flow - 「if/elseif/else」と「if/else{if/else}」の使用
私は、次のようなパターンをよく使用しています。
ここでのポイントは、プログラム ロジックに注意深く従わない限り、2 番目の条件が最初の条件に明らかに関連していないということです。これは非常に悪いことですか?上記を次のように表現した方がよいでしょうか。
保守性の理由から?私が完全に見逃しているより良いパターンはありますか? 「明らかに接続されていない」ビットは、私のコードのバグのより一般的な原因の 1 つです。
perl - Perl If および Elsif ループのヘルプ
わかりました、私はまだ Perl の初心者なので、この質問に対する答えはかなり明白に思えるかもしれませんが、私は Python でいくつかの作業を行っており、if、elsif、else ループの学習で問題に遭遇しました。具体的には、それらが適切に機能しないことです。これが私のコードです:
おそらく私の問題は今では明らかですが、そうでない場合、問題は式を評価していないように見えることです。いずれにせよ、最初に見つけたループ (この場合は if ループ) を出力するだけです。削除するかコメントアウトすると、最初の elsif ループに直接進みます。つまり、x の値に関係なく、最初に見つかったループを評価せずに出力します。追加したところ
「16行目のvoidコンテキストでの数値gt(>)の無用な使用」という警告が表示され、24行目でも同じことが発生しました。元のコードでそれらを矢印とここでマークしました。私は何かをしていますか/私がすべきことをしていませんか?
computer-science - プログラムの制御フローグラフ
私は現在コンパイラクラスを受講しており、最適化を実装するためにCFGを構築する必要があります。私が理解できないことの1つは、プログラムにCFGがいくつあるかということです。私が今まで見たすべての例は、単純なコードセグメントのCGFのようです。したがって、3つの機能を持つプログラムがある場合。機能ごとに個別のCFGがありますか、それともプログラム全体に1つの大きなCFGがありますか?
scala - ifTrue、ifFalse、ifSome、ifNone などを Scala で実装して、if(...) と単純なパターン マッチングを回避する
Scala では、制御フロー指向の方法で考えるという Java/C の習慣を次第に失い、先に進んで興味のあるオブジェクトを最初に取得し、次に通常は amatch
または amap()
またはforeach()
forのようなものを適用することに慣れました。コレクション。コードを構成するためのより自然で的確な方法のように感じられるので、とても気に入っています。
少しずつ、条件についても同じようにプログラムできたらいいのにと思いました。つまり、最初にブール値を取得しmatch
てから、さまざまなことを行います。ただし、本格的なmatch
は、このタスクには少しやり過ぎのようです。
比較:
対Javaに近いスタイルで書くもの:
ifTrue:
次に、SmalltalkとifFalse:
メッセージ (およびその変形)を思い出しました。Scalaでこのようなものを書くことは可能でしょうか?
バリアントあり:
さらに、このスタイルを のような単純な 2 状態の型で使用できるようにすることはできますOption
か? より慣用的な使用方法Option
は、それをコレクションとして扱い、その上で , を呼び出すことfilter()
ですが、多くの場合、最後に、定義されている場合は実行し、定義されていない場合は実行したいことがわかります。何かのようなもの:map()
exists()
doX
doY
私には、これは (まだ?) 本格的な よりも見栄えがしますmatch
。
私が思いついた基本実装を提供しています。このスタイル/テクニックおよび/またはより良い実装に関する一般的なコメントは大歓迎です!
ruby - Ruby:forループと各ループの違いは何ですか?
重複の可能性:
Rubyのvsそれぞれ
次のような配列があるとしましょう
sites = %w[stackoverflow stackexchange serverfault]
の違いは何ですか
と
?
彼らは私にはまったく同じことをしているように見え、for
ループの構文は私にはより明確です。違いはありますか?どのような状況でこれは大したことになるでしょうか?
wpf - WPF アプリケーションでの制御の流れ
WPF アプリケーションMainWindow : Window
では、POSView : UserControl
.
POSView は、メイン ウィンドウが読み込まれるときに、ユーザーにいくつかのデータを自動的に表示する必要があります。
POSView はその ViewModel クラス プロパティにバインドされ、さらにモデル プロパティにバインドされます。
私はMVVMパターンに従おうとしています。私の質問は、誰が私のモデルにデータを入力する必要があるかです。
MainWindow または POSView イベントを監視し (いつロードされ、データを表示する準備ができたかを知るため)、この時点でリモート WCF サービス (私の場合) からデータを読み取り、それをモデルに入力するクラスのオブジェクトのようです。 .
このクラスを作成するのは誰ですか?
POSViewが「データを食べる」準備ができているかどうかを監視する最良の方法はどれですか?
ありがとうございました。
python - このコードが成功した後に失敗メッセージを出力するのはなぜですか?
このコードは、単語リストの各行をハッシュし、それを指定されたハッシュと比較することによって機能します。
エラーは発生しませんが、ハッシュが見つかると、Collision!
メッセージとメッセージが出力されThe hash given does not correspond to any supplied word in the wordlist
ます。最初はidentの問題だと思っていましたが、今はわかりません。
c++ - Parasoft C++test からの混乱した制御フロー解析
Parasoft C++testを使用して、コードを静的に分析します。次のようなコードで問題が発生しています。
*x;
次の行で警告します。
解放されたメモリは、その後いかなる状況でもアクセスされるべきではありません
catch(...)
どういうわけか、制御フローはブロックに渡され、 を削除しx
、 を通り過ぎて、 に到達できると結論付けられthrow;
ました*x;
。他にもいくつか試しthrow std::exception("");
てみましたが、同じ結果になりました。Parasoft は確かに例外を認識しており、制御フローに組み込みます。これは、例外チェックを伴うテストが他にも多数あるためです。この場合、混乱しているだけですか、それとも、このプログラムの実行で と の両方をヒットする方法が実際にdelete x;
あり*x;
ますか?
goto - goto の使用を避けるために、この制御フローを再構築するにはどうすればよいですか?
入門プログラミング コースの宿題として、乱数 (1 ~ 100) を生成するプログラムを設計して実装する必要があります。次に、プレーヤーに 7 つの推測を与えて、その数を正しく推測します。私はこのアルゴリズムを思いつきました:
しかし、このアルゴリズムの概念的な表現を制御構造に変換する方法がわかりません。(Pascal を使用しているため、使用可能な構造は if ステートメント、事前注文ループ、および事後注文ループです)。ループ条件がループの途中にあり、出口点が 2 つあるため、プリオーダー ループとポストオーダー ループのどちらも内側のループには適合しません。
これをより明確に構造化する方法について、誰かが私に指針を与えることができますか?