Eu vi que eles foram documentados juntos aqui . Eles são a mesma coisa? Por que Ruby tem tantos apelidos (como map / collect for arrays)? Muito obrigado.
114
Sim, e também é chamado fold
em muitas outras linguagens de programação e em matemática. Ruby usa muitos apelidos para ser intuitivo para programadores com experiências diferentes. Se quiser usar #length
em um Array
, você pode. Se você quiser usar #size
, tudo bem!
inject
para que os usuários não tenham que ler os dois descrição e tente descobrir se eles são iguais ... isso não vai com o princípio DRY?Versões mais recentes da documentação do
Enumerable#reduce
especificam explicitamente:fonte
&:+
), reduza, se for um bloco, injete