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

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

scala - どのようにscalaの左の値のみをマッピングするのですか?

コードを考えてみましょう:

Serializable with Product with Either[String, TwoCaseClass]の代わりになぜ r型なのEither[String, TwoCaseClass]ですか?

左の値のみをマップする方法は?

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

haskell - (Either String (a -> b)) を (Either String [(a -> b)]) にマップする方法

次の要件を使用して、自分の演習で解決策を見つけようとします。

  • 特定のシーケンスに対してオブジェクトを移動する必要があります。
  • シーケンスはアクションで構成されます。

可能なアクションは次のとおりです: F、L、R

  • F : 前方に移動
  • L : 左に 90°回転
  • R : 右に 90°回転

シーケンスは、次のように文字列で表されます。

"FFLRLFF"

上記のシーケンスを解析 (およびエラーを処理) してから、次のように各アクションを関数にバインドします。

今私が欲しいのは、次の署名を持つものです:

関数を何度も使用して完全なシーケンスを解析したいのですparseActionが、それが Left を返すと失敗します。この機能をどのように実装できるかについて、私は立ち往生しています。

あなたはなにか考えはありますか ?

0 投票する
0 に答える
335 参照

haskell - either関数はどのように機能し、Haskellで適切に使用されていますか?

私は現在、 Haskell Data Analysis の学習で Haskell を学ぼうとしています(Haskell を学ぶなどの他のものを以前に読みました)。本が提案する方法では機能しないcsvデータを解析および変更するためのリストがあります。エラーが発生します。残念ながら、私はリストを修正できるほど上手ではありません。どういうわけかうまくいかないことはわかりますが、正しいバージョンがどのように見えるかわかりません。eitherまた、関数を使用して正しいバージョンを導出できるかどうかを確認する表現力豊かな例も実際には見つかりませんでした

ghci にロードするときに表示されるエラー メッセージは次のとおりです。

どなたか親切で、リストを機能させるためにどのように変更しなければならないのか、なぜ本が示唆するように機能しないのかを説明してくれませんか?

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

haskell - ヒントの誤った評価から回復することは可能ですか?

hintパッケージを使用hackageして、ユーザーが評価用のコード行を発行できる単純な環境を作成しようとしています(ghciのように)。入力行の一部に誤りがあると予想されます (evalセッションがエラーで終了します)。誤った入力を無視する堅牢なセッションを作成するにはどうすればよいですか (または、エラーを報告しますが、他の入力を受け入れることができます)、以前の一貫した状態を維持できますか?

また、スタイルで使用したいと思います。doつまりlet a = 3、スタンドアロンの入力ラインが理にかなっています。


明確にするために:私は単一のeval. 私がやりたいことは、いくつかのステップが失敗した後でも評価を継続できるようにすることです。また、モナドチェーンを段階的に拡張したいとghci思います(あなたがそうしているように)。

言い換えれば、私はこのようなものが欲しいのですが、評価してエラー3で止まらないことを除いて.undefined

より具体的には、次のようなことが可能になることを望みます。

私はこれが簡単に機能するとは思っていません。これはアイデアを示すためのものです。私は基本的にいくつかのコンテキストを構築したいと思います(ghciで行うように)。コンテキストに追加するたびに、失敗がない場合にのみコンテキストが変更されます。コンテキストを変更しようとするたびに、失敗がログに記録されるか、明示的に取得されます。

0 投票する
2 に答える
4907 参照

scala - Scala Future のエレガントな処理[いずれか]]

次のような形状のタイプがあります。

これでパターン マッチを行い、Right または Left タイプに到達できることはわかっていますが、問題は、パターン マッチング ロジックをネストする必要があることです。これを処理するもっとエレガントな方法を探していますか? 助言がありますか?

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

scala - Scala で Future[Either] 型を扱う

私はこれを構造化するのに少し苦労しています。これが私がやろうとしていることです:

checkResultAndFetchUserが a を返すことを期待していますFuture[Either[ServiceError, User]]が、次のコンパイラ エラーが発生します。

このuserByEmail(encryptedEmail)方法ではFuture[Either[ServiceError, User]]、期待どおりの結果が得られますが、なぜ、どこに問題があるのでしょうか?

編集:私は解決策を見つけました:

それは大丈夫ですか?Futureつまり、ローカル変数を使用して!を返すので、実装は安全です。

0 投票する
2 に答える
274 参照

javascript - どちらかを使用し、すぐにエラーを返す

左側が例外/エラーを表し、2 番目の側が戻り値を格納する、Either のインスタンスを返す関数があります。

Each インスタンスが Error ブランチにインスタンス化されたままになっている場合は、すぐに戻りたいと思います。インスタンスが Right インスタンス化されている場合は、それを Maybe でラップして続行します (Maybe として関数に入り、Nothing の場合にのみ検索されます)。

これは私のテストケースごとに機能しています:

  1. isNothing が渡されています :: ルックアップがエラーです
  2. isNothing が渡されています :: ルックアップは成功しました
  3. isJust(22) が渡されます (ルックアップは実行されません)

コードは問題ないように感じますが、Folktale data.either ライブラリのより細かい点が欠けているとは思いません。

私は ES6 (Node 4.1) と Folktale: data.either および data.maybe を組み合わせています。私の目標は、このスタイルで適切に書く方法についての理解を本当に高めることです


問題を更新すると、もう少し複雑になります。独立したルックアップを連続して使用できます。これは、連鎖する可能性があると感じています。

コードを非常に醜くする連続した発生...

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

python - 確率に基づいて変数を異なる値に設定する

変数 x があり、x=1 の確率が 60%、x=2 の確率が 40% の値を 1 または 2 に設定したいと考えています。

私はクラスでこれを行っているので、ボタンがクリックされるたびに x が再生成され、プロットされますが、特定の確率を使用して設定する方法がわかりません。ランダムにできることは知っていますが、それは私が望むものではありません。

誰もこれを行う方法を知っていますか?