問題タブ [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 - 多分除算の解析エラー (Haskell)
解決できない簡単な質問ですが、割り当てが必要なため、次のコードで Maybe_divide を取得しようとしていましたが、端末にエラーメッセージが表示されます
test2.hs:1:112: パターンの解析エラー: (Just x)
誰が私に何が悪いのか教えてくれるのが好きですか? ありがとう
haskell - 2 つの同一のコードですが、端末のエラー メッセージが大きく異なります
これが私の最初のコードです
コード 1 のエラー メッセージを以下に示します。
これは、私の友人である Bryan Olivier が書いた 2 番目のコードです。
ただし、今回はエラー メッセージが異なります。
list - Haskell - リスト内の要素を検索し、その位置を返す
だから私は次のように記述された関数を作る必要があります
これは整数を取り、フィボナッチ数列でそれを探します(以下の関数で説明されているように)
数値の例のインデックスを返します。
invFib 0
~>Just 0
invFib 1
~>Just 1
またはJust 2
map invFib [54, 55, 56]
~>[Nothing,Just 10,Nothing]
invFib (fibs !! 99)
~>Just 99
整数のリストを取得してインデックスを吐き出す関数を作成しようとしましたが、失敗し続けます。何かご意見は?
これは私が試した機能です-
編集: フィボナッチ数列にない数値で関数がフリーズし、1 が入力されたときに 1 つの値のみが表示されます
haskell - Haskell - おそらく算術
次のプロファイルを使用する関数を実装するように依頼されました。
そして、次のように応答します。
以下のように書いたのですが、コンパイルできません。何か提案はありますか?
haskell - モナド変換子 モナド複製
私はモナドトランスフォーマーが初めてなので、簡単な質問で申し訳ありません。私には価値val :: MaybeT IO String
と機能がありますfn :: String -> IO [String]
。だから、バインドした後、私は持っていval >>= liftM fn :: MaybeT IO (IO [String])
ます。重複した IO モナドを削除して type の結果を取得するにはどうすればよいMaybeT IO [String]
ですか?
haskell - Maybe と Writer を使用してリストをフィルタリングし、フィルター ヒットを追跡する
Maybe 要素を返す連鎖関数を使用してリストをフィルタリングしています。この部分は正常に動作します。
しかし、さまざまな関数が要素をキャッチした回数も数えたいと思います。私は現在、ヒットを収集するために Map を備えた Writer を使用しています。これを MaybeT 内にラップしようとしましたが、これにより、不要な要素と戻り値と空のリストの場合にフィルター全体が失敗します。
どうすればやりたいことを実現できるのかわかりません。私が探している型シグネチャは だと思い[Int] -> CountWriter [Int]
ますが、入力が のときに次のような結果を得る方法[1..6]
:
python - None とは異なる場合に値をマップする方法は?
そうでない場合にのみ、値をマップする簡潔な方法はありNone
ますか? 何かのようなもの
更新:None
値がと異なる場合は値を処理する方法を探していNone
ますfmapMaybe
。
上記のコードでf
は、 は引数が 1 つの任意の関数であり、 とは異なる場合にv
に渡される値です。何または何であるかについて、これ以上の制限はありません。f
None
v
f
具体例を挙げると、辞書から文字列値を取得し、見つかった場合は整数に変換したいと考えています。したがって、結果は整数またはNone
. 上記の関数を使用して、次のように記述します。
より短く、より簡潔な方法はありますか?
Don Stewart がコメントしたように、これはHaskell のファンクタやScalafmap
の overに似ています。(そして、も返せると考えると、Haskell やScala のモナドに似ています。)Maybe
map
Option
f
None
>>=
flatMap