問題タブ [guard-clause]

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 投票する
1 に答える
405 参照

f# - コンストラクターでの fsunit.xunit テスト例外

持つ

FsUnit + xUnitを使用してこの例外をテストしようとしています:

しかし、実行するとXUnit.MatchExceptionが表示されます。私が間違っているのは何ですか?

  1. ソースコードのテスト
  2. カテゴリ タイプのソース コード
0 投票する
1 に答える
1762 参照

syntax - idris の関数定義でガードを使用することは可能ですか?

Haskell では、次のように記述できます。

Idris でそれを行わずに同等のものを書くことは可能ですかifThenElse(私の実際のケースは上記のものよりも複雑です)?

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

ruby - NameError: undefined - Ruby 2.1.2 でローカル変数の解析規則が変更されましたか?

私はNameError: undefined local variable or methodルビー2.1.2を取得しています

この質問で見られるように、式は次のようになります。

は、割り当てられる前にパーサーによって読み取られるため、未定義のローカル変数エラーが発生します (bar事前に定義されていない場合) 。barそして、私はこの表現でそれと違いがなかったと信じています:

2 つの違いは、本体が評価されるかどうかですが、未定義のローカル変数に遭遇すると、条件を評価する前にすぐにエラーが発生する場合は問題ありません。

しかし、Ruby 2.1.2 で 2 番目のコードを実行すると、エラーは発生しません。以前からそうでしたか?もしそうなら、解析の議論は何でしたか? そうでない場合、Ruby の仕様は変更されましたか? それへの言及はありますか?1.8.7、1.9.3 などで何をしましたか?

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

f# - DateTime.TryParseExact でのパターン マッチ ガード?

ガードする方法DateTime.TryParseExact(および可能であれば解析された値を取得する方法)? 次のコードは機能しません。

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

ruby - Ruby: メソッドが nil 以外の値を返す場合に返す

Rubyでこれを行うためのより良い/よりクリーンな方法はありますか?

私は#validate別の場所で電話をかけているので、物事を DRY に保つために、エラー メッセージを返すようにしています。

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

c# - 値の割り当てを忘れる可能性があるプロパティのガード句

メソッドに渡されるメッセージがあります。

割り当てられていないブール値のデフォルトは false であるため、IsCredit に値が割り当てられていることを忘れていたかどうかを確認できません。これは借方であることを意味しIsCredit = false;ます。

そこで、値 1 で始まるDrCrFlagを使用することを提案しました。

そのようにして、DoSomething メソッドは、列挙型がゼロかどうかを確認するだけで、メッセージの IsCredit プロパティが割り当てられていないかどうかを確認するガード句を持つことができます。

ただし、ブール値プロパティに依存するクライアント アプリでは、データ コントラクトが壊れる可能性があります。したがって、ブール値を DrCrFlag に変更することはできません。

したがって、既存のクライアントアプリを壊す可能性のあるnull可能なブール値を使用することを提案しましたが、ブール値を列挙型に変更するよりも、ブール値をnull可能なブール値に変更することを歓迎します。

これは実装できます:

これは、割り当てられていない変数を防ぐ正しい方法ですか?

すべてのアクションは、渡される値を検証する必要がありますか?

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

ruby - Rubyで複数の条件を持つガード句を書く方法は?

このコードに対して Rubocop を実行した後、私は得ています

したがって、私が読んだことから、条件が満たされない場合、「ガード句」はメソッドから抜け出すので、余分な条件を通過する時間を無駄にする必要はありません。私の理解が正しくない場合は修正してください。

私の質問は、複数の条件でガードステートメントをどのように使用するかです

ありがとう