2012-12-12 4 views
10

In Ruby zu übergeben, können Sie eine Map-Funktion auf jedes Element eines Arrays gelten:Shorter Art und Weise jedes Element eines Arrays an eine Funktion

@files.map { |f| f.read) } 

, für die es die syntaktische Zucker:

@files.map(&:read) 

gibt es eine Entsprechung für

@files.map { |f| read(f) } 

, die auf die oben knappere, ähnlich ist?

+1

Es ist nicht Syntax Zucker. So funktioniert 'Symbol # to_proc'. – sawa

Antwort

14

können Sie dies

@files.map(&method(:read)) 

Aber obwohl about performance bewusst sein.

+3

Für mich ist es überhaupt nicht kürzer. Einfach komplizierter und weniger performant :) –

+0

@SergioTulentsev Warum wäre es komplizierter? – oldergod

+0

Es verwendet mehr Zeichen, für eine Sache :) –

Verwandte Themen