問題タブ [nested-if]
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.
lisp - progn を使用した Lisp のネストされた IF ステートメント
Lisp の複数の if ステートメントについて質問があります。count
が等しくない場合はandステートメントn
を続行し、それ以外の場合は実行し、それがnil を返します。let
if
(= (abs (- row i))
t
ただし、常にブロック内のコードの最後の行を返すため、そうcount
でない場合はいつでも戻ることがわかりました。ではない場合にのみ、句のいずれかが である場合にのみ戻るようにプログラムを作成する方法を教えてください。n
nil
progn
count
n
nil
or
t
更新しました:
良い反応をありがとう。はい、確かに私は N クイーン パズルを解こうとしています :P 私が現在抱えている問題は、特定の行と列にクイーンを配置するかどうかを決定するコントロールが、行が空のときに機能しないことです。これは、行が空のときにgetqueencol
が返され、そこに.nil
queen-can-be-placed-here
(= nil NUMBER)
これに対抗するために、行が空かどうかを知るカウント変数を作成しようとしました。これにより、空の行queen-can-be-placed-here
を呼び出さないようgetqueencol
にすることができます。queen-can-be-placed-here
問題は、クイーンが空の行に追加されるときにチェックがどのようになるかわからないことです。
これまでのコードは次のとおりです。
excel - この方程式からエラーが発生し続けます
なぜ受信してエラーになるのか正確にはわかりません。構文は正しいようですね。
excel - 値が見つからない場合に空白のセルを返すネストされた IF 式
数式を含む別のワークシートからデータを取得するために使用している数式について、助けが必要です。ソースセルに値が割り当てられると、ネストされた数式が正しく機能しますが、ソースセルが空白の場合に値が返されます (データを取得するのを待っている数式として)。
以下の数式を使用すると、空白のセルではなく、正しくない値が返されます。
次の式を使用すると、ソース セルにデータが含まれるまで空白のセルが返され、真の値が返されますが、以下の "=" 式よりも広い範囲があります。
G5に値が表示されるまで、空白のセルが必要です。
if-statement - 私のelseは適切なifを認識していません
私がラベルを付けた他のものには、それが不要であるというエラーがあります。else を最初の if と一致させるにはどうすればよいですか?
mysql - MySQL ストアド プロシージャは、子レコードを持つレコードのみを返します
テーブルに外部キーを持つテーブル、タスク、コメントがあります。
私はすべてのタスクを取得する必要があり、最後のコメントから日付を取得する必要があります。すべて同じ手順です。現在の私の問題は、それを試してみると、コメントが添付されたタスクしか得られないことです。タスクにコメントが添付されていない場合、タスクは表示されません。
ネストされた if を試してみましたが、うまくいかないようでした。内部のストアド プロシージャと関数にも問題がありましたが、アイデア、提案、解決策があれば教えてください。
java - Javaでループを使用してバックトラック?
ここに私のコードの要点とその機能があります。進路を選択するのは、どこに行くかを選択するゲームです。たとえば、最初にパス a を選択した場合、パス d と e のいずれかを選択することができ、d を選択した場合は f と g に移動できます。
バックトラックを追加したい。たとえば、最初に a を選択して f まで行った場合、d に戻って f と g のどちらかをもう一度選択できるようにしたい、または開始点に戻って f を選択できるようにしたいb.
私の最初の考えは、バックトラックが必要なときにコードに特定のコード行に戻るように指示するために何かを使用することでしたが、私の理解では Java には goto がありません。私はループを使用するつもりです。(特にwhileループを考えています。)バックトラックするループを構造化する方法がわかりません。
これが私のコードです:
java - if-continue とネストされた if
衝突検出を実装しています。時間が経つにつれて、プロジェクトの複雑さが増すにつれて追加のチェックを継続的に追加することで、次のようなパターンに偶然遭遇しました。
後で蓄積されたコード全体を見て、これをリファクタリングする場合は、ネストされた ifs を使用すると思いました。
読みやすさの観点からは、最初の例が非常に気に入っています。これは、すべての条件を明確に分割し、ネストされた if の深いセットを残さないためです。効率の観点から、最初の方法では毎回より多くの比較が必要になります。
これらの方法のうち、どちらが優れていますか? 2 番目ではなく 1 番目を使用することで、無意識のうちに呼び出している副作用はありますか?
java - Monadic Bind を使用して、この Apache Tomcat コードを単純化するにはどうすればよいでしょうか?
コメンテーターは次のように書いています。
Tomcat の優れた「大なり記号」コード。(>>=) の健康的な線量が必要です。
Apache Tomcat の AuthenticatorBase.java クラスを見ると、次のようになります。
認めざるを得ませんが、これをどのように適用できるかがわかりません。if-tree をモナド バインドにリファクタリングする方法がある可能性があることはわかりましたが、その方法がわかりません。
仮定:
- これは言語に関するものではなく、論理構造に関するものです。この if-tree を Haskell、Scala、または Clojure で表すことができ、それでも同じ if-logic を表すことになります。
私の質問は、この Apache Tomcat コードを Monadic Bind でどのように単純化できるでしょうか?