Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
27 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 26 Visitantes :: 1 Motor de busca

paulo2015vfpti

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

Controlar Scanner Twain

31/3/2017, 17:31 por Kleber R Bento

Estou usando o EZTW32.DLL para criar uma ferramenta que escaneia e gera PDF. Porém com esses …

Comentários: 0

Estatísticas
Temos 7079 usuários registrados
O último usuário registrado atende pelo nome de albsilva

Os nossos membros postaram um total de 48 mensagens em 25 assuntos

Lazylist execução para Ruby

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Anexo Lazylist execução para Ruby

Mensagem por Marcos Guedes em 11/7/2009, 09:35

Esta classe implementa listas para Ruby. Essas listas evitam o cálculo dos valores que não sejam necessários para alguma computação. Assim, é possível definir infinitas listas com uma quantidade limitada de memória. Um valor que não tenha sido utilizado ainda é calculado e guardado na lista. Um valor que é utilizado para uma segunda vez é computado apenas uma vez e apenas ler a partir de memória para o segundo uso.

Na versão mais recente acrescentei a lista método de Kernel, para encurtar a criação de listas (especialmente as mais complicadas ones). É possível criar uma lista infinita de como aqueles que:
Código:
ones = list(1) { ones } # => [... ]
ones.take 3  # => [1, 1, 1]
ones =  # => [1,... ]
Para criar o naturals natural, você pode fazer isso (ou utilizar LazyList.from (1)):
Código:
def from(n = 1)
    list(n) { from(n + 1) }
end
naturals.take 3  # => [1, 2, 3]
naturals = from  # => [1, 2, 3,... ]
Ou menor:
Código:
naturals = LazyList[1..Infinity]
Para combinar as listas, a utilização zip:
Código:
naturals_plus_one = naturals.zip(ones) { |x,y| x + y } # => [2,... ]
naturals_plus_one.take 3  # => [2, 3, 4]
naturals_plus_one  # => [2, 3, 4,... ]
Uma alternativa é construir a sintaxe:
Código:
naturals_plus_one = build { x + y }.where :x => naturals, :y => ones # => [... ]
naturals_plus_one.take 3 # => [2, 3, 4]
naturals_plus_one  # => [2, 3, 4,... ]
A lista com o bloco sintaxe agora suporta Haskell-like:
Código:
odds = list { x }.where(:x => naturals) { x % 2 == 1 }  # => [... ]
evens = naturals.select { |x| x % 2 == 0 }  # => [... ]
example = list { [ x, y ] }.where(:x => odds, :y => evens) { y < x } # => [... ]
example.take 3  # => [[3, 2], [5, 2], [5, 4]]
example  # => [[3, 2], [5, 2], [5, 4],... ]
Com a lista de exemplos PI / pi.rb você pode provar algumas propriedades perigosas da PI:
Código:
puts "Proof that PI is the number of the beast"
p PI.take(10)

def window(l, n, m = 0)
  list([ l.take(n) * '', m ]) { window(l.drop, n, m + 1) }
end
w = window(PI, 3)
index = w.find { |(x, i)| x == '666' and break i }
puts "Found #{PI.take_span(index, 3)} at #{index}!"
Saídas:
Código:
Found 666 at 2440!

Instalação

A biblioteca pode ser instalado através rubygems:
Código:
# gem install lazylist
A fonte do arquivo também pode ser baixado diretamente do [url=rubyforge.org]rubyforge.org[/url].

Autor
Florian Frank <flori@ping.de>

Licença

Isto é software livre; você pode redistribuí-lo e / ou modificá-lo sob os termos da GNU General Public License versão 2 conforme publicada pela Free Software Foundation: GNU GPL.

Nota: Não progamo em Ruby, mas achei que poderia ser do interesse de alguns, a divulgação deste conteúdo.
Esta fonte foi traduzida do seguinte link:
http://lazylist.rubyforge.org/

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum