問題タブ [maybe]

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

scala - Option内の値を一貫して置き換える方法は?

Option空でない場合は、内部の値を置き換えたいです。map(_ => newValue)like inを使用して定数関数を使用してそれを行うことができます

<$Haskell ののように、もっと簡潔な方法はあり42 <$ Just "text"ますか?

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

haskell - Haskell での fromJust の正当化

私は Haskll を学ぼうとしているので、Haskell で Project Euler の質問 26 を試していました: http://projecteuler.net/problem=26

この問題に対する私の解決策は次のとおりです。

これは最も効率的なアルゴリズムではないことを認識していますが、単純に O(n^3) (n = 1000) であるため、それほど問題ではありません。しかし、私が懸念しているのは、モナドに関する私の理解から、モナドを使用したものを何らかの意味で「マーク」するという主な特性の 1 つであるということです。関数「fromJust」は、それに直面して直接飛んでいるようです。なぜそれが存在するのですか?また、その存在が正当化されていると仮定すると、上記のコードでの私の使用法は適切ですか?

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

haskell - ネストされた Maybe パターン マッチングの単純化

私のコードには次の構成があります。

maybeネストされた関数を使用する代わりに、これを単純化する明白な方法は見当たりません。この構成をより「エレガント」にするのに役立つ巧妙な、しかし理解可能なトリックはありますか?

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

haskell - EachモナドのコンテキストでData.Map.lookupを使用する方法は?

Data.Map を使用して文字列を関数にマップしようとしています。私が抱えている問題は、私のプログラムの主なエラー処理が、Either モナドを使用し、Map.lookupを返すことMaybe ([SomeVal] -> Either ValError SomeVal)です。Map.lookupこの場合、Either モナドをうまく扱うにはどうすればよいでしょうか?

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

scala - Option/Maybe を使用して、非同期的に初期化される初期化されていない変数を表す

私が取り組んでいるコードベースには、var x: Option[A] = None初期化されていない変数に使用されるパターンがあり、プログラムの開始後のある時点で、非同期にロードされたデータで、または発生したある種の最初のイベントに応答して設定されます.

この時点以降、変数は常に型になりますSomeNoneパーツはプログラムの開始時にのみ使用されます。

これは何が起こっているかを非常によくモデル化していますが (私が見た最後のイベントNoneはプログラムの開始時であり、その後Some(event)ずっとです)、これらの変数の 1 つを操作するたびに、オプションを使用するための代償を払っているように感じます。 、実際に使用するのは一度だけですが。

私は不明確だったようです-内の値Someは変更される可能性があるため、var. 未来を使用して初期化を待ってそこから移動することはできません。

この遅延初期化を表現するよりクリーンな方法はありますか?

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

haskell - 両方の引数が Just の場合は Just ペアの値を返し、それ以外の場合は Nothing を返す Haskell 関数

関数を定義する

両方の引数がであるJust場合にのみ結果を生成し、いずれかの引数がである場合。JustNothingNothing

私が思いついた:

この書き方が正しいかどうかはわかりません。これに何か問題がありますか、それともこの関数を定義する方法ですか?

また、この関数が実際にできることのより良い説明が必要だと思うので、2 つの引数で呼び出した場合pairMaybe、それらはどのような引数になるのでしょうか? もちろん、それらは typeMaybeである必要がありますが、良い例は何ですか?