問題タブ [either]
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.
haskell - Haskell はどちらかの Double Bool を返します
私は簡単なコードを持っています
私はHaskellを学び始めたばかりで、BoolまたはDoubleを返す方法がわかりません。誰か助けてもらえますか?
エラーは次のとおりです。
haskell - EachモナドのコンテキストでData.Map.lookupを使用する方法は?
Data.Map を使用して文字列を関数にマップしようとしています。私が抱えている問題は、私のプログラムの主なエラー処理が、Either モナドを使用し、Map.lookup
を返すことMaybe ([SomeVal] -> Either ValError SomeVal)
です。Map.lookup
この場合、Either モナドをうまく扱うにはどうすればよいでしょうか?
validation - 検証と選言
次のシグネチャを持つメソッドを書きたいとします。
入力内の文字列のペアごとに、両方のメンバーが整数として解析できること、および最初のメンバーが 2 番目のメンバーよりも小さいことを確認する必要があります。次に、発生したエラーを累積して整数を返す必要があります。
まず、エラー タイプを定義します。
これで、次のようにメソッドを実装できます。
または、代わりに:
なんらかの理由で、最初の操作 (ペアが文字列として解析されることの検証)は検証の問題のように感じますが、2 番目の操作 (値のチェック)は論理和の問題のように感じます。これは、モナドインスタンスがないため、を使用する必要があることを示唆しています)。\/
ValidationNel[Throwable, _]
私の最初の実装では、ValidationNel
全体を通して使用fold
し、最後に一種の偽物として使用しflatMap
ます。2 つ目では、エラーの蓄積が必要か、モナド バインドが必要かによって、 と の間を適切にValidationNel
行き来します。\/
それらは同じ結果を生成します。
私は実際のコードで両方のアプローチを使用してきましたが、まだどちらかを優先していません。何か不足していますか?どちらかを優先する必要がありますか?
c# - モナドと例外ケースのいずれか
GetUserFromDb(int id) などのいずれかを返す関数があり、データベースがオフラインの場合、関数でエラーをキャッチして失敗/左のケースでラップする必要があります。または、例外としてバブルアウトさせる必要があります。私にはどうすることもできず、本当に例外的な状況です。
コメント/提案を歓迎します。
乾杯、
ブレア
haskell - haskell のいずれかの文字列 (NestedList a) - 機能しないのはなぜですか
通常のリストのようにネストされたリストで機能する関数を追加しようとしています。エラーまたは追加されたリストを返すように、Either String (Nested a) を使用したいと考えています。しかし、それは失敗し続けます。NestedList[NestedList a] どこでもやっていません。[NestedList (NestedList a)] が期待されていると言うのはなぜですか
このエラーが表示されます
haskell - haskell のデータ型を理解する
私はハスケルの新蜂です。ここで何が起こっているのか頭を包むことはできません
それは私にエラーを与える
予想される型Either String (NestedList a)'
with actual type
NestedList a'と一致しませんでした' List'
In the expression: List (a ++ b)
In an equation for
append' の呼び出しの戻り値の型: append (List a) (List b) = List (a ++ b)。
しかし、それはor and型data NestedList a=Elem a | List [NestedList a]
であるという意味ではありませんかNestedList
Elem
List
of NestedList
その追加は、またはのいずれString
かを返すことができますNestedList
。今私がそうするとき、私List(a++b)
は戻ってきList
ます。それはうまくいくはずですよね?
私の他の機能は平らになります
入力パラメータが である間は正常に動作しますがNestedList
、ghc は flatten
(List(x:xs))
whereList(x:xs)
がちょうど であっても問題ありませんList
。なぜここで文句を言わないのですか?入力はありますか?
scala - どちらかでエラーを蓄積する方法は?
それらをテストするためのケースクラスと関数がほとんどないとします。
ここで、新しいケース クラスPerson
とテスト関数を定義します。これは高速で失敗します。
ここで、高速に失敗するのではなく、関数にエラーtestPerson
を蓄積させたいと考えています。
これらすべての関数testPerson
を常に実行して戻りたいと思います。どうやってやるの ?test*
Either[List[String], Person]