Os exercícios são usados em esportes para dominar movimentos específicos. No basquete, os jogadores perfuram lances livres, três pontos e drible. Na programação, os exercícios fornecem uma maneira de se envolver em práticas deliberadas para desenvolver habilidades em recursos específicos de linguagem, APIs ou idiomas.
Os scrimmages são usados nos esportes para imitar as condições e a complexidade de um jogo, a fim de integrar habilidades incorporadas em exercícios e desenvolver o trabalho em equipe. Os exercícios complementam práticas de scrimmage mais complexas, como Ruby Koans, Ruby Quiz ou trabalham em um projeto de código aberto. Se nós usemos uma expressão japonesa, os exercícios também podiam ser considerados 'kihon', o precursor mais simples do 'kata'. Os exercícios não têm a complexidade de um projeto completo. Eles podem ser realizados sozinhos ou com amigos.
Os desafios nos exercícios de rubi se concentram em um método específico. As respostas normalmente consistem em uma única linha. Seu objetivo é concluir a broca com facilidade e alegria, sem consultar nenhuma documentação externa. No começo, você provavelmente encontrará esse tipo de prática nem fácil nem alegre. Código em. Pratique por alguns dias até que seu conhecimento desses métodos se torne automático. Fazer isso tornará sua programação diária mais agradável, libertando sua mente para se concentrar em complexidades de maior valor de nível superior do que a sintaxe do idioma.
$ gem install ruby_drills
$ ruby_drills
Exercícios são executados na linha de comando. Você responde perguntas em exercícios usando um repl. Essa prática tem o benefício de prepará -lo para o desenvolvimento da REPL, uma técnica útil para experimentar recursos ou algoritmos de idiomas e um ótimo complemento ao TDD.
Comece escolhendo uma broca disponível no menu. Atualmente, os exercícios de matriz e string têm mais conteúdo, então comece com um deles!
Uma sessão de perfuração para o método Enumerable#zip pode consistir no seguinte:
We have two arrays:
a: [4, 5, 6]
b: [7, 8, 9]
Use a method from the Enumerable mixin that will take one element from
a new array and merge the corresponding elements from a and b to yield
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]:
>> c = [1,2,3]
=> [1, 2, 3]
not yet...
>> c.zip(a, b)
=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
!!! WIN !!!
How does your answer compare to the reference solution?
[1,2,3].zip(@a, @b)
Press any key to continue:
Perguntas sobre exercícios de rubi? Idéias sobre como praticar? Vá para o grupo do Google.
Ao interagir com exercícios de rubi, suas respostas estão sendo salvas em uma API de coletor de broca remota hospedada por mentes testadas. Nenhuma informação pessoalmente identificável está incluída nesses dados: neste momento, estamos interessados em padrões e estatísticas gerais de prática, não em perfis de usuários individuais. Os dados de atividade parecem:
{
"timestamp" : "May 5, 2013 12:03:51 AM CST",
"result" : "pass",
"input" : "@numbers.partition{|x | x.even? }",
"sessionId" : "2217-47e8-b80a-68b81c980c32",
"drill" : "PartitionDrill",
"type" : "attempt",
"reference" : "@numbers.partition {|x| x.even? }"
}
Estamos interessados em perguntas como:
Esses dados nos ajudarão a evoluir a experiência dos exercícios Ruby. Isso também pode formar a base de uma experiência mais personalizada, permitindo que você revise seu progresso e compare suas sessões de prática com outras pessoas. Mais sobre isso por vir ao analisar os dados coletados e compartilhar os resultados com a comunidade.
Por fim, gostaríamos de descobrir se a broca e a prática em Ruby e outras linguagens de programação nos ajudam a resolver desafios de programação mais complexos. Atualmente, existem muito poucos dados disponíveis para os pesquisadores para ajudar a responder a essa pergunta cientificamente. Felizmente, os dados coletados em brocas de rubi podem fornecer um pedaço desse quebra -cabeça.
Cada broca consiste em quatro métodos:
setup : Inicialize as variáveis de instância usadas na broca, incluindo @hints , uma variedade de dicas que podem orientar o usuário em direção à resposta.
show : coloca uma string que descreve a broca.
reference : Forneça uma solução de referência como código Ruby válido no formulário String. Isso será avaliado para determinar se a entrada do usuário deve ser validada.
valid?(input) : uma função de validação que retorna verdadeira ou falsa. Usado para ver se a entrada de um usuário que corresponde à solução de referência atende a outras restrições.
É fácil se envolver criando novos exercícios. Verifique a lista de problemas no Github para encontrar algo para fazer.
Se você é novo no Github:
git checkout -b my-new-feature )git commit -am 'Add some feature' )git push origin my-new-feature )Agradecemos aos colaboradores e a esses indivíduos destacados por possibilitarem os exercícios de rubi:
O Ruby Drills está licenciado sob a licença Apache, versão 2.0. Consulte a License.txt e aviso fechado para obter mais informações.