問題タブ [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 に答える
851 参照

java - たぶん、scalaの良いパターンですか?

しばらくの間、私はscalaをnullを返す可能性のあるJavaメソッドと統合するのに苦労してきました。私は大いに役立つ次のユーティリティを思いついた:

このソリューションについていくつか質問があります。

  1. 使用するより良いまたはより標準的なパターンはありますか?
  2. すでに存在するものを複製していますか?
  3. この機能には隠れた落とし穴がありますか?
0 投票する
3 に答える
1465 参照

haskell - モナドを返す Haskell マップ

Data.Map および Data.IntMap のルックアップ関数は現在、型シグネチャを使用して Maybe でラップされた値を返します。

以前は、より一般的なタイプの

前者は余分な型指定の必要性を減らす可能性が高いと思いますが、後者はより一般的になり、リスト内包表記でルックアップを使用できるようになります。新しいバージョンでこの動作を模倣する方法はありますか、または古いバージョンのライブラリを使用する必要がありますか?

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

haskell - Haskell-MaybeMonad を F# に実装する - どうすればこれを遅延させることができるでしょうか?

F#でhttp://www.haskell.org/all_about_monads/html/maybemonad.htmlから Haskell-MaybeMonad サンプルをビルドしようとしています。

アイデアは、2 つの辞書でメールアドレスを検索することです。両方のルックアップのいずれかが結果を返す場合、3 番目のルックアップを調べます。

問題は、最初のルックアップが結果を返したとしても、2 番目のルックアップを実行することです。Haskell の良いところは、lazy と評価されることです。次に、F# で同様のものを探します。次のことを試しましたが、見栄えが悪く、ビルダーで多分ロジックをカプセル化するという考えが壊れているようです。

より良い解決策はありますか?

よろしく、フォーキ

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

types - Haskell - Just or no を使う

そのようなコードは、本「Real World Haskell」の p68 で見つけました。

私の質問は次のとおりです。データ コンストラクターはどのような仕事をしましたJustか? 削除すると、次のようなエラーメッセージが表示されます

しかし、「Just」バージョンと「No Just」バージョンのタイプの違いを比較しようとすると、次のようになります。

では、ここでのキーポイントは何ですか?ノードにvar with type を配置するとa、関数は type のノードを出力しないaため、エラーが発生するということですか?

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

haskell - "Just" を含む Maybe からの戻り値の操作

戻り値の型を持つ関数がありますMaybe ([(Int,Int)],(Int,Int))

これを別の関数から呼び出して、データに対して操作を実行したいと思います。

ただし、戻り値は 内に含まれていますJust。2 番目の方法は([(Int,Int)],(Int,Int))を使用するため、受け入れられませんJust ([(Int,Int)],(Int,Int))

Just2番目の方法を適用する前にトリミングできる方法はありますか?

Justwithinの使用を完全には理解していませんMaybeが、最初の Method の戻り値の型は でなければならないと言われましたMaybe

0 投票する
6 に答える
43886 参照

haskell - Haskellで多分タイプを使用する

HaskellでMaybeタイプを利用しようとしています。多分を返すキー、値タプルのルックアップがあります。多分によってラップされたデータにアクセスするにはどうすればよいですか?たとえば、Maybeに含まれている整数を別の整数で追加したいとします。

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

java - HaskellのundefinedとJavaのnullの違いは何ですか?

どちらも、タイプがすべてのタイプの共通部分(無人)である用語です。どちらも、評価を試みるまで失敗することなくコードで渡すことができます。私が見ることができる唯一の違いは、Javaには、null参照の同等性の比較(==)である、正確に1つの操作を評価できる抜け穴があることです。一方、Haskellではundefined、例外をスローせずに評価することはできません。これが唯一の違いですか?

編集

私がこの質問で本当に得ようとしているのは、なぜnullJavaにそのような明らかに悪い決定を含めたのか、そしてHaskellはそれをどのように回避するのかということです。本当の問題は、で何か便利なことができるということだと思います。つまり、 nullnullがないかどうかをチェックできます。これを行うことが許可されているため、コードでnull値を渡し、「このプログラムに論理エラーがあります」ではなく「結果なし」を示すようにすることが標準的な規則になっています。一方、Haskellでは、用語を評価せずに用語が最下位に評価されるかどうかを確認する方法はなく、プログラムが爆発するため、「結果なし」を示すような方法で使用することはできません。代わりに、のようなものを使用することを余儀なくされます。Maybe

「評価する」という言葉を使って速くて緩いプレーをしているように思われる場合は申し訳ありません...ここでアナロジーを表現しようとしていますが、正確に表現するのに苦労しています。これは、類推が不正確であることを示していると思います。

0 投票する
5 に答える
41235 参照

return-value - たぶんHaskellの価値を得る方法

私はHaskellに比較的慣れておらず、「RealWorldHaskell」を読み始めました。

たぶんタイプに出くわし、Just 1たとえばから実際の値を受け取る方法について質問があります。

私は次のコードを書きました:

これは、次を使用すると正常に機能します。

しかし、たとえば1をStringに変更すると、機能しません。

私は理由を知っていると思います:なぜならeliminate、1つのタイプ、この場合は。を返す必要があるからIntです。eliminateしかし、少なくとも文字列(またはおそらくすべての種類のタイプ)を処理するように変更するにはどうすればよいですか?

0 投票する
4 に答える
686 参照

haskell - Haskell:catMaybe for Data.Set?

Data.SetにcatMaybesをどのように実装しますか?

私は思いついた:

それから私は次を得る

0 投票する
7 に答える
10329 参照

functional-programming - Clojure で Maybe/Option の使用がそれほど普及していないのはなぜですか?

Clojure が関数型パラダイムを強調しているにもかかわらず、なぜMaybe/Optionモナドを使用してオプションの値を表現しないのでしょうか? の使用はOption、私が定期的に使用する関数型プログラミング言語である Scala で非常に普及しています。