Руби пытается понять новую запись. (inject (:) vs select (&: even?); почему есть &?)

Так что я'Мы только что узнали, что вместо того, чтобы писать такие вещи, как:

[1,2,3,4,5].inject {|x,y| x + y} => 15

Я мог бы написать

[1,2,3,4,5].inject(:+) => 15

Я также узнал, что вместо того, чтобы писать

[1,2,3,4,5].select {|x| x.even?} => [2,4]

Я мог бы написать

[1,2,3,4,5].select(&:even?) => [2,4]

Мой вопрос, почему один (выберите) использует& а другой (впрыскивать) нет. Я'я уверен, что: потому чтоeven? а также+ обрабатываются в символах, но ябуду любить разъяснения, почему& используется в одном и почему: используются.

Также я'Я знаю, что я мог бы сделать эти записи больше, чем простоinject а также .select

Большое спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос