Я смотрю на рельсы-проекте и пытаюсь понять этот код:Что такое | тег | в рубине?
tags.each { |tag| markup << tag(:meta, tag) }
Часть markup << tag(:meta, tag)
добавляет элемент в разметку массива с содержанием tag
. но что делает |tag|
?
Я смотрю на рельсы-проекте и пытаюсь понять этот код:Что такое | тег | в рубине?
tags.each { |tag| markup << tag(:meta, tag) }
Часть markup << tag(:meta, tag)
добавляет элемент в разметку массива с содержанием tag
. но что делает |tag|
?
|tag|
представляет собой элемент массива tags
.
Оператор each
возвращает все элементы массива или хэш. Внутри своего блока вы выполняете код для каждого элемента в tags
, и каждый элемент передается блоку в виде переменной tag
.
|tag|
позволяет присвоить имя tag
для каждого элемента в коллекции tags
, так что вы можете использовать его в блоке
Вы можете положить что-нибудь там, это было бы эквивалентно: tags.each { |x| markup << tag(:meta, x) }