タグ付けされた質問 「switch-statement」

コンピュータプログラミングでは、switch、case、select、またはinspectステートメントは、変数の内容に基づいてコードの特定のブロックを呼び出すために使用される一種の選択制御メカニズムです。

14
最大値を超えずに変数をインクリメントするにはどうすればよいですか?
私は学校向けの簡単なビデオゲームプログラムに取り組んでおり、そのメソッドが呼び出された場合にプレイヤーが15ヘルスポイントを獲得するメソッドを作成しました。ヘルスを最大100に保つ必要があり、この時点で限られたプログラミング能力で、私はこのようなことをしています。 public void getHealed(){ if(health <= 85) health += 15; else if(health == 86) health += 14; else if(health == 87) health += 13; }// this would continue so that I would never go over 100 構文が完全ではないことは理解していますが、問題は、それを行うためのより良い方法は何ですか?損傷点についても同様のことを行い、0未満にならないようにする必要があるためです これは飽和演算と呼ばれます。

3
Swift:スイッチケースでのオプション値に対するテスト
Swiftでは、オプションの内容に対して切り替えられる値をテストするスイッチステートメントでケースをどのように記述できますnilか?オプションが含まれている場合、ケースをスキップしますか? これが私がこれが見えるかもしれないと想像する方法です: let someValue = 5 let someOptional: Int? = nil switch someValue { case someOptional: // someOptional is non-nil, and someValue equals the unwrapped contents of someOptional default: // either, someOptional is nil, or someOptional is non-nil but someValue does not equal the unwrapped contents of someOptional } これとまったく同じように書くと、コンパイラーsomeOptionalはアンラップされていないと文句を言いますが!、最後に追加して明示的にアンラップすると、もちろん、実行時エラーが発生しsomeOptionalますnil。の?代わりに追加することは!私にはある程度の意味がありますが(オプションの連鎖の精神では)、コンパイラエラーがなくなるわけではありません(つまり、実際にはオプションのラップが解除されません)。

2
正規表現と後方参照を使用してRubyswitchステートメント(case…when)を作成するにはどうすればよいですか?
Rubyのcaseステートメントを記述して、正規表現との一致をチェックできることを知っています。ただし、returnステートメントで一致データを使用したいと思います。この半擬似コードのようなもの: foo = "10/10/2011" case foo when /^([0-9][0-9])/ print "the month is #{match[1]}" else print "something else" end どうすればそれを達成できますか? ありがとう! 注:上記のような単純なケースではswitchステートメントを使用しないことを理解していますが、これは1つの例にすぎません。実際、私が達成しようとしているのは、さまざまな方法で記述できる日付の多くの潜在的な正規表現を照合し、それに応じてRubyのDateクラスで解析することです。

1
[[fallthrough]]を使用しても、GCCがフォールスルーについて警告するのはなぜですか?
次のコードでは[[fallthrough]]、C ++ 1zの標準属性を使用して、フォールスルーが必要であることを文書化します。 #include <iostream> int main() { switch (0) { case 0: std::cout << "a\n"; [[fallthrough]] case 1: std::cout << "b\n"; break; } } GCC 7.1では、コードはエラーなしでコンパイルされます。ただし、コンパイラはフォールスルーについて警告します。 warning: this statement may fall through [-Wimplicit-fallthrough=] std::cout << "a\n"; ~~~~~~~~~~^~~~~~~~ どうして?

8
Javaスイッチの場合:中括弧の有無は?
中括弧を付けた次の2つのスニペットについて考えてみます。 switch (var) { case FOO: { x = x + 1; break; } case BAR: { y = y + 1; break; } } 中括弧なし: switch (var) { case FOO: x = x + 1; break; case BAR: y = y + 1; break; } 中かっこ付きのスニペットでは、各ケースを中かっこで囲むことによって新しいスコープが作成されることを知っています。ただし、各ケースに新しいスコープが必要ない場合(つまり、変数名が再利用されていない場合)、ケースで中括弧を使用すると、パフォーマンスが低下しますか?

15
`switch`ステートメントを使用してCの文字列を比較するにはどうすればよいですか?
Cにはswitch、テスト整数値に基づいてコードのさまざまな条件分岐を実行できるようにする構造があります。 int a; /* Read the value of "a" from some source, e.g. user input */ switch (a) { case 100: // Code break; case 200: // Code break; default: // Code break; } 文字列値、つまり?に対して同じ動作を取得する(つまり、いわゆる「if-elseラダー」を回避する)にはどうすればよいchar *ですか?

4
R関数でswitchステートメントを使用するにはどうすればよいですか?
Rの関数にステートメントを使用してswitch()、関数の引数の値に応じて異なる計算をトリガーしたいと思います。 たとえば、Matlabでは次のように書くことでそれを行うことができます switch(AA) case '1' ... case '2' ... case '3' ... end この投稿(switch()ステートメントの使用法)はswitch、使用方法を説明していますが、単純ではなく、より高度な計算(行列演算)を実行したいので、あまり役に立ちませんmean。

8
Laravel5-ブレードに切り替える
ブレードテンプレートでスイッチを使用するにはどうすればよいですか?私が使用したとき: @switch($login_error) @case(1) `E-mail` input is empty! @break @case(2) `Password` input is empty! @break @endswitch 結果として、私はこのテキストを平文として見ています。私は、ifを使用する場合よりもクリーンであるため、いくつかのコードでswitchを使用することを好みます。 しかし、それが不可能な場合は、それを書いてください。

14
Subversionのステータス「S」
ある時点で、作業コピー内のすべてのファイルに、以下に示すように「S」記号が付けられました。 $ svn st M S AclController.php S InstallationController.php S CustomerController.php S RedirController.php S IndexController.php S LoginController.php S OrderController.php S ProductController.php S SelfInstallController.php S SelfcareController.php 興味深いことに、これはこの特定の作業コピーでのみ発生します。プロジェクトを新しいディレクトリにチェックアウトすると、「S」マークが表示されません。 この迷惑な「S」記号を取り除く方法は?WCステータスの明確さが大幅に低下します。 更新:標準のsvn switch構文を使用して時々切り替えます。最近まで、この「S」記号が表示されることはありませんでした。切り替えに使用されたコマンドは次のとおりです。 svn switch svn+ssh://xxxxxx/subversion/xxxxxxx/releases/1.0.16 . 「S」フラグをクリアする方法はありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.