私のユースケースは、より複雑ですが、基本的に以下の私が達成しようとしているかの簡単な例である(私の元のコードは、アッカ・ストリームのためです): offset := 0
//pump data
def pump(): Unit = {
elem := poller.getNumberFromOffset(offset)
elem match {
case n
テール再帰によってカードのリストにCardの量を取得する必要があります。これまで amountCard :: Int -> Card -> [Card] -> Int
私の試み: amountCard n c [] = n
amountCard n k (x:xs) = if k == x then amountCard (n+1) k xs else amountCard n k xs
私はバイナリツリーの末尾の再帰的な折畳み関数を見つけようとしています。以下の定義を考える: def fold[A, B](t: Tree[A])(map: A => B)(red: (B, B) => B): B =
t match {
case Leaf(v) => map(v)
case Branch(l, r) =>
red(fold(l)(map
Hy人、 クイックソートでC++で何か問題があります。並べ替えられた配列(値の増加または減少)の最悪の場合、〜900要素の配列でスタックオーバーフローが発生します。末尾再帰は、私が見つけた解決策だったが、イムはおそらくイム任意の改善をachivingわけではないので、右ここでそれをしない: void quickSort(int *array, int start, int end){
/