fold

    1

    1答えて

    私はこのコードを書いて、ファイルハンドルの行をループし、それと任意のアクションを実行します。私はそれが再帰的である必要があるとは思わない - 私は折り畳みアクションにすることはできますか? ありがとうございます! processHandle :: Handle -> (String->IO()) -> IO() processHandle h fn = do eof <- hI

    1

    4答えて

    私はScalaで左折の仕組みを理解するのが難しいです。 次のコードは、charsのリスト内のそれぞれの一意の文字に対して、 の回数を計算します。たとえば、呼び出し times(List('a', 'b', 'a')) は(結果のリストの順序は重要ではありません)以下を返す必要があります: List(('a', 2), ('b', 1)) def times(chars: List[Cha

    1

    1答えて

    私は以下の2つのタイムを計り、どちらも同じ時間がかかるように見えます。他のものを使用する利点はありますか? (1 to 24).foldRight(List[Int]())((i, l) => l ::: generateList(signs, i)) 対 (1 to 24).map(i => generateList(signs, i)).reduce(_ ::: _) P.S.私の使用

    3

    1答えて

    foldrという用語で、プリミティブ再帰を定義しようとしています(A tutorial on the universality and expressiveness on foldの章4.1を参照)。ここで は、定義上で以下head $ simpleRecursive (\x xs acc -> x:xs) [] [1..] のために停止しません。しかし、それ simpleRecursive f

    0

    2答えて

    私はしかし、いくつかの問題(私は合計初心者です)を有する。..整数のリストからすべての奇数をドロップしようとしています:私を与える evenfunc :: [Int] -> [Int] evenfunc li = x = head li y = tail li if even x then x : myevenfunc xs --take hea

    5

    2答えて

    はhttp://en.cppreference.com/w/cpp/language/foldのウェブサイトは、倍概念を使用する方法の例を示し、それは言う: has an operator with precedence below cast at the top level :私は文を入手終了していない、非英語のネイティブスピーカーとして 実際にはどういう意味ですか、それは例で何を示していま

    1

    3答えて

    の戻り0を削減し、折ります。 Intがオーバーフローした場合は、負または正の数値が返されているはずです。私は好奇心旺盛だので、私はこれを試してみました: (1 to 100).toList.fold(1)(_*_) それはまだ私に0 を返さそれから私はこれを試してみました: (1 to 100).toList.fold(1)((a,b) => { println(s"dd::::$a:::$b

    7

    1答えて

    タイトルはそれをすべて言っています。 foldl1およびfoldl'はともにFoldableに一般化され、foldl1'は一般化されていません。これはちょうど最近の監督ですか?それともデザインの選択ですか? foldl1'の種類は、私はそれがfoldl1と同じ型を持つことが期待 foldl1' :: (a -> a -> a) -> [a] -> a です: foldl1 :: Foldabl

    5

    1答えて

    私は可変アキュムレータを介して配列のストリームを連結したいと思います。 は現在、私はStream<Foo[]>のために次のことをやっている: Foo[] concatenation = streamOfFooArrays.collect(Collector.of( ArrayList<Foo>::new, (acc , els) -> {acc.addAll(Arrays.asL

    0

    2答えて

    foldlistを使用してRacketで関数を記述する必要があります。これは、数値のリストを取り、その後の数値より大きいリスト要素を削除します。 例:(排除-大きい(リスト1 2 3 5 4))(1 2 3 4)を生成する必要があり Iはfoldrまたは任意の高次関数を使用せずにそれを行うことができ、私は理解できませんそれはfoldrでそれを出します。ここで私が持っているものです。 (define