Perguntas com a marcação «pure-function»

Uma função pura é aquela que sempre avalia a mesma coisa com os mesmos argumentos e não pode mudar ou depender de qualquer estado externo.

6
Uma função pura memorizada é considerada pura?
Digamos que fn(x)é uma função pura que faz algo caro, como retornar uma lista dos principais fatores de x. E digamos que criamos uma versão memorizada da mesma função chamada memoizedFn(x). Ele sempre retorna o mesmo resultado para uma determinada entrada, mas mantém um cache privado dos resultados anteriores para …



4
Existe uma boa razão para tornar públicas as funções puras?
Eu tive um pequeno debate com um colega de trabalho. Simplificando, existe um bom motivo para ocultar / encapsular funções que são puras? Por "puro", quero dizer a definição da Wikipedia : Sempre retorna os mesmos resultados da mesma entrada. (Para fins desta discussão, Foo Create(){ return new Foo(); }é …

2
Quando usar [Pure] em um construtor?
Estou aprendendo sobre contratos de código no .NET e tentando entender a idéia de construtores puros. o documentação dos contratos de código declara: Todos os métodos chamados dentro de um contrato devem ser puros; isto é, eles não devem atualizar nenhum estado preexistente. Um método puro pode modificar objetos que …


6
Puro funcional vs dizer, não pergunte?
"O número ideal de argumentos para uma função é zero" está totalmente errado. O número ideal de argumentos é exatamente o número necessário para permitir que sua função seja livre de efeitos colaterais. Menos do que isso e você desnecessariamente faz com que suas funções sejam impuras, forçando-o a se …


5
Calcular se uma função é pura
Conforme Wikipedia: Na programação de computadores, uma função pode ser descrita como pura se ambas as afirmações sobre a função se mantiverem: A função sempre avalia o mesmo valor de resultado, dados os mesmos valores de argumento. O valor do resultado da função não pode depender de nenhuma informação ou …



4
Este método é puro?
Eu tenho o seguinte método de extensão: public static IEnumerable<T> Apply<T>( [NotNull] this IEnumerable<T> source, [NotNull] Action<T> action) where T : class { source.CheckArgumentNull("source"); action.CheckArgumentNull("action"); return source.ApplyIterator(action); } private static IEnumerable<T> ApplyIterator<T>(this IEnumerable<T> source, Action<T> action) where T : class { foreach (var item in source) { action(item); yield return …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.