Передача значений через функции
Объединяйте преобразования с оператором конвейера
«Передача значений через функции» — бесплатный урок Helm Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Helm Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Helm Academy содержит 4 уроков всего.
Зачем нужны конвейеры
Сырые значения редко сразу подходят для манифеста. Конвейер позволяет пошагово преобразовать значение, прежде чем оно попадёт в YAML.
Оператор канала
Канал ( | ) передаёт значение слева функции справа, совсем как канал в командной оболочке. 🔧
{{ .Values.name | upper }}Левое значение становится последним аргументом
Переданное через канал значение становится последним аргументом следующей функции. Это главное правило, благодаря которому цепочки остаются понятными.
{{ .Values.greeting | trim }}Объединение множества шагов
Вы можете объединить в цепочку несколько функций. Каждый результат передаётся следующей функции, формируя понятный конвейер преобразований.
{{ .Values.name | lower | quote }}Как читать конвейер
Читайте конвейер слева направо: начните с исходного значения, затем по очереди примените каждую функцию, пока не получите итоговое значение.
Каналы и вложенные вызовы
Конвейер — это всего лишь удобная запись для вложенных вызовов. Оба варианта допустимы, но каналы намного лучше читаются в длинных цепочках.
{{ quote (upper .Values.name) }}Передача дополнительных аргументов
Функции в канале также могут принимать собственные аргументы. Переданное значение всё равно поступает после них как последний аргумент.
{{ .Values.name | trunc 10 }}Конвейеры и quote
Завершать конвейер строк функцией quote — распространённая практика. Она заключает результат в двойные кавычки, чтобы YAML оставался корректным.
{{ .Values.message | quote }}Группировка подконвейеров скобками
Заключите подвыражение в скобки, чтобы сначала вычислить его, а затем передать весь результат во внешний конвейер.
{{ (.Values.a | upper) | quote }}Где выполняются конвейеры
Конвейеры находятся внутри действия с двойными фигурными скобками. Helm вычисляет их во время рендеринга и подставляет итоговую строку в ваш манифест.
Делайте цепочки короткими
Длинные цепочки сложно отлаживать. Используйте несколько понятных шагов, а когда конвейер становится слишком громоздким, выносите логику в переменные.
Быстрая проверка
Как канал передаёт значение следующей функции?
Повторение
Вы узнали, что канал объединяет функции в цепочку, передавая каждое значение как последний аргумент. Короткие и понятные конвейеры упрощают чтение шаблонов. 🎉
Часто задаваемые вопросы
Урок «Передача значений через функции» бесплатный?
Да — полный текст урока «Передача значений через функции» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Helm Academy, подпишись на CoddyKit PRO. Курс Helm Academy содержит 4 уроков всего.
Чему я научусь в уроке «Передача значений через функции»?
Объединяйте преобразования с оператором конвейера Ты практикуешь Helm Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Helm Academy?
Предыдущий опыт не требуется. Helm Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Передача значений через функции»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Helm Academy?
Да. Каждый урок Helm Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Передача значений через функции
- default, required и quote
- Помощники строк из библиотеки Sprig
- Кодирование с b64enc, toYaml и indent