問題タブ [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.
haskell - デルタを説明するリストで Maybe をアンパックする (そして、そもそもそれは良いアイデアでしょうか?)
Haskell の初心者として、私は StackOverflow の評価の高い質問、新しい質問などを読んでいますが、今日は次の質問がありました。
「まあ、答えを見ずにやってみよう」と思いました。手始めに、私は次のように書きました。
それから私はすることができminimum neighborsDistance [2,3,6,2,0,1,9,8] => 1
ました。
しかし、私はエッジケースがどのように機能するかについてはあまり気にしていなかったので、おそらくMaybeを使用してみようと思いました. 「たぶん」値を許容するように再帰ルールを適応させる方法が必要だったので、Hoogle でData.Maybeを調べたところ、fromMaybe
...これは私が望んでいたことのように見えました。
しかし、それは私にnot in scope: fromMaybe
エラーを与えました。主な質問は、「なぜそれがうまくいかなかったのか」です。
もう1つの質問は、このようなものを見るときの一般的なHaskellの考え方についてです。これはMaybeの悪い使い方ですか?head
空のリストで呼び出されたときに例外がスローされるのに対して、Maybe 型が返されるのはなぜですか?
私が問題を得た質問は、距離計算を最小限の操作で統一しようとすることでした。大幅な効率を失うことなく、このように分割できると思います(最小、最大などで構成するなど)?
list - elm リスト内包表記、リストの n 番目の要素を取得する
Elm でルービック キューブのシミュレーションを実行しようとしていたときに、Elmがリスト内包表記をサポートしていないことに気付きました。Haskell または Python でさえ、次のように記述します。
Elm では方法が見つかりませんでした。私が書かなければならなかった実際のリスト内包表記は (Haskell で):
にfromIntegral :: (Integral a, Num b) => a -> b
変わりInteger
ますNum
。
Elm では、配列を使用しようとしました。
そして、私はMaybe
型に問題を抱え始めました:
実際、私はそれらが何であるかを調べなければなりませんでした。多分を回避する代わりに、リストで何かをしました:
それが効率的か正しいかはわかりませんが、私が試したケースではうまくいきました。
私の主な質問は次の2つだと思います。
- Elm はリスト内包表記をサポートしていますか? (私はちょうど使用すると思います
map
) maybe
配列の例で型を回避する方法は?head ( drop n x)
リストの n 番目の要素を取得するために呼び出すのは効率的ですか?
haskell - ファンクタとモナドの結合
私は Haskell の初心者で、次の関数を表現力豊かに組み合わせる方法がわかりません。
私はこのような機能が欲しい:
現在、私はそのようにしています:
うーん、これは本当に醜いと思います (わかりました、名前は文字だけですが、実際のコードも醜いです)。私が欲しいのは、次のようなより表現力豊かな関数の連結です。
どうすればモナド関数とファンクターを組み合わせることができますか? ( Java 8or
のように?)Optional#orElse
haskell - 「タイプ `Maybe' と `IO' を一致させることができませんでした 予期されるタイプ: IO 文字列 実際のタイプ: おそらく文字列」 In Haskell
私はモナドに頭を悩ませようとしていますが、これがコンパイルされない理由を説明できれば、理解が深まると思います。
私が得るエラーは
Maybe
問題は、 aを と一致させようとしていることにあるとIO
思いますが、Maybe'd 変数を IO にキャストする方法が完全にはわかりません。どんな助けでも大歓迎です!
list - catMaybes のように機能しますが、Nothing 値をカウントします
次のようなリストがあります。
を使用すると、構築された値catMaybes
のみを抽出できます。Just
私は今、 s のリストを生成するだけでなく、一度走査することで有限リストの s のJust
数も生成する関数を探しています。Nothing
次のような署名が必要です。
注:この質問は Q&A スタイルで回答されているため、意図的に研究努力を示していません。
haskell - ウィキペディアの Haskell の Maybe モナドの例を理解する
Haskell におけるモナドの概念、つまり >>= と return の役割を理解できたと思います。ただし、このウィキペディアの例では、それらのアプリケーションの構文に少し混乱しています。
この機能の意図がよくわかりました。評価の順序について少し混乱しています。関数のどの部分が評価されるか行ごとに誰かが表示できますか (mx と my が Maybe Int 型で、mx = Just x' と my = Just y' で、x' と y' が Int 値であると仮定します)?
私はそれがそのようなものだと思います:
haskell - 非網羅的なパターン エラー
私の関数は、Maybe Int のリストを引数として取ります。element = Nothing の場合、 . 要素が Just Int の場合、数値が出力されます。ベースケースをキャプチャしたと思っていましたが、正しいものを完全に取得できたとは思いません。網羅的でないパターン エラーが発生します。
正しい方向へのうなずきは大歓迎です!:-)