Resultados da pesquisa a pedido "tail-recursion"

3 a resposta

Otimização de recursão de cauda para JavaScript?

Peço desculpas a todos por versões anteriores disso serem vagas. Alguém decidiu ter pena da nova garota e me ajudar a reescrever esta pergunta - aqui está uma atualização que espero que esclareça as coisas (e, obrigado a todos que foram tão ...

2 a resposta

Explicação das listas: função fold

Aprendo cada vez mais a língua Erlang e recentemente enfrentei alguns problemas. eu leio sobrefoldl(Fun, Acc0, List) -> Acc1 função. Eu usei o tutorial learnyousomeerlang.com e havia um exemplo (o exemplo é sobre a Calculadora de notação polonesa ...

6 a resposta

Recursão de cauda em C ++

Alguém pode me mostrar uma função recursiva de cauda simples em C ++? Por que a recursão da cauda é melhor, se é que é mesmo? Que outros tipos de recursão existem além da recursão da cauda?

18 a resposta

Como faço para sair de um loop no Scala?

Como faço para quebrar um loop? var largest=0 for(i<-999 to 1 by -1) { for (j<-i to 1 by -1) { val product=i*j if (largest>product) // I want to break out here else if(product.toString.equals(product.toString.reverse)) largest=largest ...

1 a resposta

(Como) posso fazer esta ligação monádica recursiva da cauda?

Eu tenho essa mônada chamada Desync - [<AutoOpen>] module DesyncModule = /// The Desync monad. Allows the user to define in a sequential style an operation that spans /// across a bounded number of events. Span is bounded because I've yet to ...

1 a resposta

Compilação de C # com otimização recursiva de cauda?

Com base na rica riqueza do stackoverflow, tenho recebido respostas sobre se a otimização recursiva da cauda é feita para especificamente o código c #. Algumas das perguntas pareciam falar sobre Especulação da otimização nas versões mais ...

1 a resposta

Clojure: Evitando o estouro de pilha na Peneira de Erathosthene?

Aqui está minha implementação do Sieve of Erathosthene in Clojure (com base na lição do SICP sobre fluxos): (defn nats-from [n] (iterate inc n)) (defn divide? [p q] (zero? (rem q p))) (defn sieve [stream] (lazy-seq (cons (first stream) (sieve ...

3 a resposta

A recursão da cauda não está acontecendo

estou a usarg++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2 em um projeto C ++. Eu escrevi uma função que meio que faz isso: template<typename T, T (*funct)(int) > multiset<T> Foo(const multiset<T>& bar, int iterations) { if (iterations == 0) return bar; ...

8 a resposta

O que é a otimização de chamada de cauda?

Muito simplesmente, o que é otimização de chamada de cauda? Mais especificamente, alguém pode mostrar alguns pequenos trechos de código onde ele pode ser aplicado e onde não, com uma explicação do porquê?

5 a resposta

Exemplo de função recursiva da cauda F #

Eu sou novo no F # e estava lendo sobre funções recursivas de cauda e esperava que alguém pudesse me dar duas implementações diferentes de uma função foo - uma que é recursiva de cauda e outra que não é para que eu possa entender melhor o princípio.