2012-12-12 42 views
10

在Ruby中,可以應用映射函數對數組中的每個元素:到數組中的每個元素傳遞給函數較短方式

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

對於其中存在的語法糖:

@files.map(&:read) 

是否有

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

任何同等也就是說更簡潔,類似上面?

+1

這不是語法糖。這就是'Symbol#to_proc'的工作原理。 – sawa

回答

14

你可以做到這一點

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

但要知道,雖然about performance

+3

對我來說,它並不短。只是更復雜,性能更差:) –

+0

@SergioTulentsev爲什麼會更復雜? – oldergod

+0

它使用更多的字符,一件事:) –

相關問題