2015-07-04 4 views
1

Я смотрю на рельсы-проекте и пытаюсь понять этот код:Что такое | тег | в рубине?

tags.each { |tag| markup << tag(:meta, tag) } 

Часть markup << tag(:meta, tag) добавляет элемент в разметку массива с содержанием tag. но что делает |tag|?

ответ

2

|tag| представляет собой элемент массива tags.

Оператор each возвращает все элементы массива или хэш. Внутри своего блока вы выполняете код для каждого элемента в tags, и каждый элемент передается блоку в виде переменной tag.

0

|tag| позволяет присвоить имя tag для каждого элемента в коллекции tags, так что вы можете использовать его в блоке

Вы можете положить что-нибудь там, это было бы эквивалентно: tags.each { |x| markup << tag(:meta, x) }

Смежные вопросы