問題タブ [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.

0 投票する
6 に答える
14220 参照

sql - 変数ラベルを使用したSQLGOTOステートメント

私はこのようなことができることを望んでいました:

もちろん、SQLサーバーは私に間違った構文エラーを与えます...それで私はまだ少し異なる構文でこれを行うことができるかどうか疑問に思いましたか?

0 投票する
9 に答える
3085 参照

c - 「goto」によるフロー制御マクロ

はい、2つの嫌いな構造が組み合わされています. それとも、goto の使用を制御し、適切なクリーンアップ戦略を提供するための良い方法と見なすことができますか?

職場では、コーディング標準で goto を許可するかどうかについて話し合いました。一般に、誰も goto を自由に使用できるようにしたくはありませんでしたが、クリーンアップ ジャンプに使用することに前向きな人もいました。このコードのように:

このような使用の上記の利点は、次のコードで終わる必要がないことです。

特に、多くの割り当てがあるコンストラクターのような関数では、特に誰かが途中で何かを挿入しなければならない場合に、これは非常に悪くなることがあります。

そのため、goto を使用できるようにしつつ、自由に使用されないように明確に分離するために、一連のフロー制御マクロがタスクを処理するために作成されました。次のようになります (簡略化)。

これは次のように使用できます。

見栄えがよく、多くの利点がありますが、これを開発に展開する前に考慮すべき欠点はありますか? 結局のところ、非常にフロー制御と goto:ish です。どちらも落胆しています。この場合、彼らを思いとどまらせるための議論は何ですか?

ありがとう。

0 投票する
16 に答える
17750 参照

php - PHP と PHP 5.3 で追加される goto ステートメント

「goto」ステートメントは、ASM またはその他のアセンブラー言語からそのまま出てきます。

ここにリンクがあります: http://be2.php.net/manual/en/control-structures.goto.php

私は疑問に思っています: これは私のコードをよりよく整理するために何ができますか? 大規模なプロジェクトでこれを台無しにすることなく実装するにはどうすればよいですか。goto を使用すると前後にジャンプできるため、これを間違った方法で使用すると、偶発的な代入と無限ループが発生するのを待っています。

誰かがこれの良い使い方の例を教えてもらえますか?

編集:わかりました、私はいくつかの返信を見てきましたが、明らかに「goto」ステートメントの使用とそれが悪いことについて幅広いコンセンサスが存在します.

だから私はまだ疑問に思っています.なぜPHPはわざわざそれを言語に追加するのでしょうか. 彼らがその中に何かを見ていないなら、彼らはそれをしません... では、なぜですか?

また、一般的な「goto」に関するStackOverflowの議論はこちら

EDIT2: この質問が goto ステートメントについて悲しいことに多くの悪いことを引き起こしたのを見て、私は行って父に尋ねました。彼は 52 歳で、産業技術者です。
彼は、彼の時代にかなりの量のプログラミングを行い、そのほとんどが FORTRAN と COBOL であると私に何度か言いました。現在、彼は IT サービス、サーバーおよびネットワーク管理などを行っています。

とにかく、彼は「私の時代に戻って...」についていくつか言いました。
それについて少し話し合った後、彼はgotoステートメントに戻り、学生時代に戻っても、それが賢明ではないことをすでに知っていたと言いました.それを使用するという考えはありましたが、当時はそれほど良いものはありませんでした. Try/catch はまだ数年先のことで、エラー処理はほとんど存在しませんでした。
では、プログラムをチェックするために何をしましたか? 最後に数行を追加して、出力とコードのチェックインに必要なすべてを印刷できるようにしてから、「goto printing;」などの行を配置して、データの印刷を開始します。

このようにして、コードを徐々にデバッグしていきました。

彼は、現代のプログラミングの世界での goto の使用はほとんど役に立たないことに同意します。彼が正当だと考える唯一の用途は、極端なデバッグや予期しない状況で使用される「緊急休憩」です。のようなものgoto fatal_error;で、コードの「fatal_error」部分にいくつかのことを実行させて、詳細な結果を表示します。
ただし、何かを作成している間だけです。完成品には goto ステートメントを含めないでください。

後期編集: PHP5.3/PHP6 の「goto」に関する別の議論

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

refactoring - このgotoラベルを推測します

私はこれを次のVB6コード(他の誰かによって書かれた)でリファクタリングしようとしていました。

原作者の意図はレーベルに何だったと思いますehか?

たぶん「えっ、何かあったの?」…

今のように考えなくても読めるようにしたいと思います...

0 投票する
16 に答える
30251 参照

c - Cでのエラー管理のためのgotoの有効な使用?

この質問は、実際には、programming.reddit.com でしばらく前に行われた興味深い議論の結果です。基本的には、次のコードに要約されます。

ここでの使用はgoto最善の方法であるように思われ、あらゆる可能性の中で最もクリーンで効率的なコードが得られます。少なくとも私にはそう思われます。Code Completeでの Steve McConnell の引用:

goto は、リソースを割り当て、それらのリソースに対して操作を実行し、リソースの割り当てを解除するルーチンで役立ちます。goto を使用すると、コードの 1 つのセクションでクリーンアップできます。goto は、エラーを検出した各場所でリソースの割り当てを解除するのを忘れる可能性を減らします。

このアプローチの別のサポートは、このセクションのLinux Device Drivers bookから得られます。

どう思いますか?gotoこの場合、 C での有効な使用法はありますか? より複雑で効率の悪いコードを生成する他の方法を好みますが、回避しgotoますか?

0 投票する
10 に答える
197411 参照

vb.net - VB.NETSwitchステートメントのGoToケース

私はswitchステートメントを使用するVB.NETでいくつかのコードを書いていますが、ある場合には別のブロックにジャンプする必要があります。C#では、次のようになります。

ただし、これをVB.NETに変換する方法がわかりません。私はこれを試しました:

しかし、これを行うと、コンパイラエラーが発生します:「識別子が必要です」。「ケース」の下に波線があります。何か案は?

また、この場合、GoToステートメントを使用するのは間違っていますか?それは私がそれを書き直さなければならない他の方法のようです。


コードを次のように変更しました。

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

batch-file - 日の場合にのみ行う...バッチファイル

こんにちは私は次のようなバッチファイルを取得しました:

今、私は最初の行が機能しないことを知っています。

私が実際に起こりたいこと:

それはそれが何日であるかを自動的にチェックします。月曜日から金曜日の場合は「はい」に、そうでない場合は(土曜日/日曜日)「いいえ」に移動する必要があります。

これを行う方法?

0 投票する
11 に答える
11217 参照

c++ - gotoラベルを配列に格納してから、それらにジャンプするにはどうすればよいですか?

「ジャンプラベル」の配列を宣言したい。

次に、この配列の「ジャンプラベル」にジャンプします。

しかし、私はこれをどのように行うのか分かりません。

次のコードのようになります。

誰かがこれを実行する方法を知っていますか?