問題タブ [goto]
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.
delphi - Delphi: この場合、Goto は有害と見なされませんか?
これで、TObjectList インスタンスができました。その中のアイテムをループして、リストからいくつかのオブジェクトを削除したいとします。あなたはこれを行うことはできません:
...最初のオブジェクトのインデックスカウンターを削除すると、私はすべて間違ってループが機能しなくなるためです。
だからここに私の解決策があります:
これは、これまでに見つけた最良の解決策です。誰かがもっときちんとした解決策を持っているなら、私はそれを見たいです。
c# - この状況で「goto」を使用しても問題ありませんか?
以下は疑似コードです。
1 つのメソッドに複数の try-catch ブロックがあり、例外がスローされるたびにメソッドを最初から再呼び出ししたくありません。この状況での使用はgoto
許容されますか?
windows - goto コマンドを使用した Windows バッチ ファイルが機能しない
GOTO コマンドと関連ラベルに問題があります。
事実: フォルダーから大量のファイルを受け取った場合 (それらはログ エラーです)、それらを開いて、特定の文字列が含まれているかどうかを確認する必要があります。はいの場合、ファイル名からいくつかの文字 (「_」が最後に出現した後のすべての文字を含む) をファイル名から削除し、他の操作を行います。
文字を切り取るために、ここで説明されているように、ループ方式で GOTO コマンドを使用しています: http://www.robvanderwoude.com/battech_while_loops.php
スクリプトは次のとおりです。
ラベル loopEnd?! の後に空の行があるため、スクリプトは実行されていません。そのラベルの直後に命令を書いている場合、命令は実行されますが、最初の for ステートメントからの残りの反復は実行されません (ログ エラー フォルダーには複数のファイルが含まれます)。
誰かが助けを提供できますか?
c++ - 実行に失敗したコードのgoto行
私はいつも、プログラミングでgotoステートメントを使用することはほとんどないように教えられてきました。ただし、最近のプログラミングプロジェクトの一環としてそうする必要があります。さまざまなgotoステートメントを含むif/elseステートメントがあり、gotoステートメントが実行に失敗しています。理由はわかりません。どんな助けでもいただければ幸いです。
ビットシフトなどの簡単な説明:コンピュータプロセッサを実装しているので、25ビットオペコードの最初の3ビットを調べる必要があります。したがって、(myInt >> 22)&7は、オペコードの3ビットを分離します。
ここで何が起こっているかについて何かアイデアはありますか?
c# - チェーンスイッチ/gotoを置き換えることができるデザインパターン?
アプリケーションリソースを現在のアプリケーションバージョンに更新するためのコードがあります。このコードは、アプリケーションの更新後に呼び出されます。
ここでは、指定されたケースブロックにジャンプして呼び出すカスケードメソッドがあります。私は疑問に思います-この場合、使用するのに良い習慣は(しばしばそのような悪い習慣と見なされます!)に行きますか?メソッドを1つずつ呼び出したくない-次のように:
そのような問題を説明するデザインパターンはありますか?
php - 「構文エラー、予期しない T_STRING」goto の問題
http://www.faressoft.org/test/hello.php
私のコード:
エラー: 解析エラー: 構文エラー、3 行目の /home/alfalah1/public_html/faressoft.org/test/hello.php の予期しない T_STRING
私のローカルホストではうまく動作しますが、justhost サーバーでは動作しませんか? なぜ ?
c - C コードのすべてのループを削除するためのツール
ループ (while 、do-while、for) を含む C コードを、ループ ステートメントの代わりに goto ステートメントを含む C コードに変換するためのツールはありますか?
私はClangを試しました。コードを IR に変更して元に戻しましたが、論理的には同じ意味ですが、コードはまったく異なります (より多くの行、SSA 形式に従うなど)。
結果として得られるコードが元のソース コードに似ているとよいでしょう。そうでない場合は、利用可能な他のさまざまなオプションについて知りたいです。
c - C:ネストされたIfまたはGotos
Cプログラムのリソースを管理するための最良の方法は何ですか。ネストされたif構造を使用する必要がありますか、それともgotoステートメントを使用する必要がありますか?
gotoステートメントには多くのタブーがあることを私は知っています。ただし、ローカルリソースのクリーンアップは正当化されると思います。2つのサンプルを提供しました。1つはネストされたif構造を比較し、もう1つはgotoステートメントを使用します。個人的には、gotoステートメントを使用するとコードが読みやすくなると思います。ネストされたifプロンプトの構造が優れていると主張する人のために、データ型がWindowsハンドルなどのchar*以外のものであるかどうかを想像してみてください。ネストされたif構造は、一連のCreateFile関数や、大量のパラメーターを受け取るその他の関数では手に負えなくなると思います。
この記事は、ローカルのgotoステートメントがCコードのRAIIを作成することを示しています。コードはわかりやすく、わかりやすいです。それを一連のネストされたifステートメントとして想像してみてください。
gotoは、try / catchなどの他の制御メカニズムが存在するため、他の多くの言語ではタブーであることを理解していますが、Cでは適切と思われます。
また、Linuxカーネル内のgotoステートメントでLinusTorvaldsを引用したいと思います。
また、構造が悪く、邪魔になることもあります。「goto」を使用する方がはるかに明確です。
たとえば、ネストしない条件文があることは非常に一般的です。
その場合、2つの可能性があります
gotoを使用して、ネストを強制しないので、幸せになります
これにより、コードはアルゴリズムの指示どおりに実行されるため、コードが読みやすくなります。
コードを複製し、構造化されたジャンプを使用できるようにネスト形式で書き直します。これにより、コードが読みにくくなり、保守が難しくなり、大きくなることがよくあります。
Pascal言語は、後者の問題の代表的な例です。「break」ステートメントがないため、(従来の)Pascalのループは、「これで完了です」と言うために完全に任意のロジックを追加する必要があるため、多くの場合、完全なたわごとのように見えます。
gotoはリソース管理に使用できますか?ネストされたifステートメントを使用する必要がありますか、それともより良い方法がありますか?
更新: Cでの良いGotoの例
c# - goto を使用せずに再試行ロジックを作成するためのより良い方法
を使用せずにこのコードを記述するより良い方法はありgoto
ますか? むずかしいようですが、他にいい方法が思い浮かびません。再試行を 1 回実行できるようにする必要がありますが、コードを複製したくありません。
c - Cの「後藤」についての質問
Cコードを理解しようとしています。一部に次のようなものがあります。
それ以降のバージョンでは次のように変更されています。
私の見解では、両方のバージョンで同じ結果が得られるはずですが、そうはなりません。なぜなのかご存知ですか?
訂正: 修正は次のとおりです。