Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
14 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 14 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
» URGENTE - Instalação do aplicativo
Hoje à(s) 08:51 por Douglas Pascini

» Conexão Sql Server
Ontem à(s) 12:18 por Douglas Pascini

» como fazer essa imagem clicavel
22/1/2017, 13:56 por flavio dos reis

» USAR REPORT FORM
20/1/2017, 15:00 por ImRicoh

» Impressora Ticket
20/1/2017, 08:25 por ImRicoh

» Visite meu canal no Youtube
20/1/2017, 00:45 por ImRicoh

» Protocolo de comunicação porta serial
19/1/2017, 16:48 por rodiney

» Bloquear edição do ListBox
17/1/2017, 23:38 por Dipaula

» Ajuda em Script VBS
16/1/2017, 11:22 por carlosdantasf

» automação do mozilla e chrome
15/1/2017, 12:16 por Handerson Mildroz

» Aplicação Android algoritmos de aprendizagem pseudocódigo
4/1/2017, 01:09 por diegoveloper

» COMO ESTÃO DESENVOLVENDO EM WEB?
3/1/2017, 10:21 por felipe.palucoski

»  Um For não enxerga outro no DataGrid! (VIsual Basic)
2/1/2017, 12:44 por Ana Waldila

» C# criar checkBox Transparente
28/12/2016, 12:26 por flavio dos reis

» Menu lateral exemplo em VFP
28/12/2016, 11:55 por mxavier

» dll pertocheck
23/12/2016, 13:47 por FERNANDOMATRELLA

» Rota de um arquivo
23/12/2016, 09:01 por Julio

» BANIMENTO DE USUARIO
22/12/2016, 12:48 por Marcos Guedes

» USAR WEBSERVICE NO VFP9
20/12/2016, 18:33 por FAF

» CALCULO
19/12/2016, 18:48 por David Valerio

URGENTE - Instalação do aplicativo

24/1/2017, 08:51 por Douglas Pascini

Bom dia. Estou com um problema, ao fazer a instalação (colocar os arquivo) do aplicativo na …

Comentários: 0

Conexão Sql Server

23/1/2017, 12:18 por Douglas Pascini

Estou mudando meu servidor, para uma máquina remota. Até ai perfeito, o problema acontece que …

Comentários: 0

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 3

Impressora Ticket

15/11/2016, 09:20 por clima238

Bom dia,
Por favor alguém me explique porque o código abaixo imprime no ecrã em vez do printer: …

Comentários: 2

Visite meu canal no Youtube

20/1/2017, 00:45 por ImRicoh

VFP Unlimited


Comentários: 0

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

Os nossos membros postaram um total de 12 mensagens em 6 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