fold

    1

    2答えて

    So。シナリオ: 私は、リストのこの種類があります。 ("USER1",(24,11)) ("USER2",(10,7)) ("USER2",(1,10)) ("USER1",(2,3)) ("USER3",(3,4)) を、私はgroupByにすべてのユーザーのすべての情報を必要として、すべてのタプルの情報を合計します。 だから私の予想される出力は次のようになります。 ("USER1

    0

    1答えて

    Schemeで "foldr"を使用してリストをフィルタリングしようとしていますが、特定の述語で "true"を返す要素のみをリストに残そうとしています。 私はスキームでfoldr /リットル(例えば、this one)について、ここで以前discussingsを使用しようとしましたが、このコードで出てきた: (define (filterb pred? lst) (foldr (lambda

    0

    1答えて

    私は、大学の部署の採用実践を見るためにいくつかのシミュレーションを書いています。だから私は私が含む部門の教授の異なるグループを持っているstruct.部門には複数のグループがあります。したがって、各教授グループは、教授ランクの異なるメンバー、すなわち、フル、アソシエイト、またはアシスタントの教授で構成されています。 すべての教授を同じランクにグループ化するには、構造体のベクトルへの参照を含むDep

    -1

    1答えて

    を使用してHaskellでは、バイナリツリー上で次トラバースを行います機能を実装する方法に慣れて、私の試みは次のとおりです。 何か助けていただければ幸いです。 エラーメッセージ: Couldn't match expected type ‘[a]’ with actual type ‘[a] -> [a]’ • In the first argument of ‘foldT’, namely

    3

    2答えて

    関数のリストを指定してそのリストを折りたたみ、各クロージャの結果を次の関数に徐々に渡す関数を記述したいと思います。 リスト内の関数の関数シグネチャは(擬似コード)のようになります。 typealias DoneClosure = (Dictionary) -> Void typealias Middleware = (Dictionary, DoneClosure) -> Void 私はタイ

    0

    1答えて

    Vim構文の強調表示定義コードを書きました。だから私はまだ元の構文として着色することXXXXXX部分を維持したい は、今私は折りたたみを使用することができますが、私は折れ線を持っているとき、私は折りたたみ機能部と、実際のコード +-- 10 lines: XXXXXX ごとに異なる色にしたいですラインの残りの部分から目立つ色。 折り畳み構文の透明度はどのように定義できますか?

    0

    1答えて

    私は次のようにHaskellでのバイナリツリーの定義を持っています私は単純にすべての値を合計するこの関数を作ることができます: しかし、これは動作しません、私は私の人生のためにすることはできません理由を見つけてください。 私は取得していますエラーメッセージの有用な部分は次のとおりです。エラーはあなたがいる場合タイプ (x -> u -> u -> u) をパラメータとして (+) :: (Nu

    5

    1答えて

    は、私は一種[*]の、種類のリストがあるとします。 let Ts = '[Int, Bool, Char] 私はタプルのチェーンにこれを変換したい: type family Tupled (ts :: [*]) z :: * type instance Tupled (t ': ts) z = (t, Tupled ts z) type instance Tupled '[] z = z

    2

    2答えて

    foldMのFoldableをcatsで理解しようとしています。リスト内の数字を合計する必要があるとします。実行中の合計が正で、そうでないときに中断する必要があるとします。 val sumUp: (Int, Int) => Option[Int] = (x, y) => { println(s"x = $x, y = $y") val sum = x + y if (

    0

    2答えて

    私はハスケルで次の問題を解決しようとしています。整数の場合、数字のリストを返します。制約はfold *関数(* = {r、l、1、l1})の1つのみを使用しなければならないということです。 ような制約がなければ、コードは単純です: list_digits :: Int -> [Int] list_digits 0 = [] list_digits n = list_digits r ++ [n