問題タブ [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 投票する
3 に答える
123 参照

find - 否定的な書き込みかどうかを検索して確認する

私はバッチファイルを作成していますが、知りたいことはほんの少しです:

私の (WINDOWS) バッチ ファイルは、テキスト ファイルで「hello」を検索する必要があります。

そこにある場合は、GOTO コマンドを使用してバッチ ファイル内の別の場所に移動する必要があります。

そこにない場合は、新しい行に 'hello' を書き込む必要があります。

どうやってそれができる?

FIND と ERRORLEVEL を使用できることは知っていますが、方法がわかりません。

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

c++ - goto を使用するとメモリ リークが発生しますか?

ネストされた大量の for ループから抜け出す必要があるプログラムがあります。これまでのところ、ほとんどの人がそうするように私に言っている方法は、私のコードで醜い goto を使用することです。

ここで、ローカル スタックの束を作成すると (そうでない場合は、新しいコマンドを使用せずに通常の変数を意味すると思います)、変数をループ内に作成し、プログラムが goto をトリガーする if ステートメントにヒットすると、プログラムが多くのループを不適切に終了し、ローカル変数をクリーンアップしないために、メモリ リークが発生することはありますか?

0 投票する
8 に答える
678 参照

c++ - gotoなしでこのスニペットを書き直すことはできますか

皆さん、私は次のコードを持っています。これは、ツリーを反復処理する大きなwhileループ内にあります。これは、このルーチンを取得できる限り高速ですが、gotoを使用する必要があります。私は基本的に後藤に反対しているわけではありませんが、回避できればやりたいと思います。(私は炎上戦争を始めようとはしていません。お願いします。)

制約:

  1. current=current->child()高価です(それはですshared_ptr)ので、私はその操作の使用を最小限に抑えたいと思います。
  2. 手術後、currentそれが見つけた最後の子になるはずです。
  3. cnt遭遇する各子を数える必要があります。
  4. cnt ++は他の操作(またはいくつかの操作)に置き換えられ、1回だけ表示されます:)

コード:

編集:申し訳ありませんが、元々cnt++が表示されるのは1回だけであることに言及するのを忘れていました。これはノード上でのある種の操作になるため、1回だけ実行する必要があります。また、別の関数呼び出しを行わないようにしています。

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

flash - Actionscript if / else 構文 質問

次のうち、「雨が降っていれば映画を見ます。雨が降っていなければ公園に行きます」という英語の文を最も適切に翻訳したものはどれですか.

私の答えは「d」です。それは正しいですか?

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

algorithm - goto と実行時のコード評価の使用

最近、プログラミングの授業で、任意の言語でプログラムを作成するという課題が与えられました。このプログラムは、nが与えられた場合、すべての i に対してp [i] != i: 0 となるような、サイズnの配列pに対して可能なすべての乱れを生成します。 <= i < n. イテレータを使用する必要がありました。yield

例: n=3、[0, 1, 2] は乱れではありませんが、[2, 0, 1] は [1, 2, 0] と同様です。

動作する疑似コード ソリューションを思いつきましたが、問題はパワー ループ (つまり、nが実行時にのみ認識されるn個のネストされたループ) が必要なことでした。これを行うために、文字列内の Ruby コードでn 個のネストされたループを生成し、文字列をeval編集しました。私の解決策はうまくいきましたが、私の教授は、goto動的コード生成よりも数個の s を使用する方が良い解決策 (少なくとも読みやすい) であると考えました。

goto私はいつも悪い選択だったという印象を受けました。動的に生成されたコードの実行時評価が、なぜより悪い選択になるのgotoでしょうか? 生成されたコードはクリーンでシンプルで、与えられた問題に対してかなり効率的です。コード生成が依存する唯一のユーザー入力はnであり、事前に整数値であることを確認するためにチェックされます。当然yieldのことながら、それは唯一の混乱です。

私は自分のプログラミング課題の解決策を求めているのではなく、goto過剰な動的コード評価を使用する理由、またはその逆の使用の背後にある理由を知りたいだけです。

編集: 明確にするために、割り当てには反復子を使用したプログラムと再帰を使用した別のプログラムの作成が含まれていたため、反復バージョンは必ずしも効率的であるとは限りませんでした。

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

recursion - Erlangの再帰関数は単なるgotoではありませんか?

頭の中でまっすぐにするためだけに。Erlangコードの次の例を考えてみましょう。

test()呼び出しではなく、gotoですか?

Cで学んだので、関数呼び出しを行うと、戻り位置は常にスタックに置かれるので、これを尋ねます。スタックオーバーフローが発生するため、ここのErlangではこれが当てはまるとは想像できません。

関数を呼び出すには、gotoとgosubの2つの方法がありました。gotoはプログラムフローを別の場所に誘導し、gosubはあなたがどこから来たのかを覚えているので、戻ることができます。

この考え方を考えると、Erlangの再帰をより簡単に見ることができます。なぜなら、私がgotoとしてtest()を読んだだけなら、まったく問題がないからです。

したがって、私の質問::Erlangは、スタック上のリターンアドレスを記憶する代わりに、gotoを使用しているだけではありませんか?

編集:

私のポイントを明確にするために:

gotoは、いくつかの言語で使用して、あちこちをジャンプできることを知っています。ただし、someFunction()を実行する代わりに、次のことも実行できると仮定します。最初の例では、フローが戻るsomeFunction()に移動し、2番目の例では、フローはsomeFunctionで続行され、決して戻りません。

したがって、メソッドの開始点にジャンプできるようにするだけで、通常のGOTOの動作を制限します。

このように見える場合、Erlangの再帰関数呼び出しはgotoのように見えます。

(私の意見では、gotoは、元の場所に戻ることができない関数呼び出しです)。これはまさにErlangの例で起こっていることです。

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

java - gotoステートメントをif、switch、while、breakなどに変換します

gotoステートメントを、、、、、およびステートメントなどifに機械的に変換する方法、または関数呼び出し、オブジェクトなどを使用して変換する方法はありswitchますwhileか?breakcontinue

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

windows - Windows バッチ ファイル - 指定されたバッチ ラベルが見つかりません

問題

Windows バッチ ファイルとラベルに問題があります。このエラーが発生し続けます:

指定されたバッチ ラベルが見つかりません

私が試したこと

  • 2台のコンピューター; WindowsXP と 2003 サーバー。
  • ASCIIとしてエンコードされていることを確認しました
  • 行継続文字の 16 進コードを編集しました。すべてを順番に CR 、 LF 、および CRLF に置き換えてみました。すべての組み合わせで同じエラーが発生します。
  • ラベルの前に余分な文字を挿入して、ラベルが 512 文字を超えるようにしました。

コードは次のとおりです。

これは CRLF (0d 0a) の 16 進数です。

コンソールの出力は次のとおりです (@echo off を削除した場合):

実際に 7zip ファイルを作成することはないので、この行でクラッシュすると推測できると思います。

コマンドプロンプトからその行を単独で実行すると、正常に動作し、依存関係.7z が作成されるため、必ずしも 7za.exe の問題ではないと思います。

私はすでにこのスタックオーバーフローの質問を読みました:stackoverflow.com/questions/232651/why-the-system-cannot-find-the-batch-label-specified-is-thrown-even-if-label-ex

およびその投稿からのリンク。help.wugnet.com/windows/system-find-batch-label-ftopict615555.html

答え

だから、私は問題の人を見つけました。

私は、「プロキシ」バッチ ファイルとしか言いようのない、よく使用する手法を使用していました。c:\scripts というフォルダーがあり、そこにいくつかのバット ファイルを配置して、一般的に使用される exe をターゲットにしています。これにより、すべてのコマンド ライン ツールで PATH 変数が非常に大きくなるのを防ぐことができます。この方法では、c:\scripts を PATH に追加し、必要なときにプロキシ バッチ ファイルを作成するだけで済みます。

これだけを含む 7za.bat が c:\scripts にありました。

スクリプトをこれに変更しました。

これの代わりに;

そしてそれは完璧に機能しました。

物語の教訓...

バッチ ファイル内から他のバッチ ファイルを呼び出すことは避けてください。その場合は、「call」を前に付ける必要があります。

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

flash - 1つのボタンで外部swfとgotoAndPlay()をロードするにはどうすればよいですか?

ここで見ることができるインタラクティブなツアーを作成しました。

メインのswfは上部のナビゲーションです。そして、4つの外部swfsをメイン(About、Rentals、Floorplan、Neighborhood)にロードします。

ANDFloorplan.swfをロードするにはボタンが必要です-内のフレーム。Rental.swf gotoAndStop("CAFE")Rental.swf

これは私が今作業しているコードです:

コードはswfをロードしますが、ロードしませんgotoAndStop。私は再配置して書き直しました-何も機能しませんでした。コードにトレースを入れると、onLoadComplete呼び出されていないようです。私は途方に暮れています。

必要に応じてファイルを送信できます。

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

c# - C#でステートマシンを実装するための(パフォーマンスが重要な場合の)最良の方法は何ですか?

私は次のオプションを思いついた:

gotoステートメントの使用:

switchステートメントの使用:

gotoとswitchを一緒に使用する:

私はgotoステートメントを使用する最初のオプションを好みます。これは、より高速で冗長性が少ないためです。しかし、それが最良の選択肢かどうかはわかりません。パフォーマンスに関しては多分ですが、読みやすさに関してはわかりません。だから私はこの質問をします。どのオプションが好きですか、そしてその理由は何ですか?