Quel est le Coffeescript équivalent le plus concis à ce qui suit :
# ruby
3.times { puts 'hi' }
?
Le mieux auquel je puisse penser est :
# coffeescript
for n in [1..3]
console.log 'hi'
Quel est le Coffeescript équivalent le plus concis à ce qui suit :
# ruby
3.times { puts 'hi' }
?
Le mieux auquel je puisse penser est :
# coffeescript
for n in [1..3]
console.log 'hi'
console.log 'hi' for [1..3]
Pour gérer également correctement 0
console.log 'hi' for [1..n] if n
Ou avec la magie du prototype :
Number::times = (fn) ->
do fn for [1..@valueOf()] if @valueOf()
return
3.times -> console.log 'hi'
Notez que la deuxième méthode n'est pas recommandée car changer le Number
a des effets globaux.
Edit : Modifié selon le commentaire de @BrianGenisio ( .prototype.
-> ::
)
Edit 2: correction de la gestion de 0, merci @Brandon
Puisque vous utilisez déjà Underscore.js avec CoffeeScript :
_(3).times -> console.log('hi')
en utilisant lodash :
_.times 3, -> console.log 'hi'
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.