Обработка данных может состоять из достаточно большого количества шагов, которые нужно выполнить. Возьмём для примера такую задачу: на основе введенного пользователем названия статьи сформировать адрес страницы в интернете. Такая задача часто возникает при публикации статей в блогах. Подобные адреса выглядят так: https://ru.hexlet.io/blog/posts/iz-vahtovika-v-programmirovanie. Последняя часть здесь iz-vahtovika-v-programmirovanie создана автоматически кодом, который мы написали на Хекслете. Кстати у неё есть специальное название – это слаг.
Какие шаги нужно выполнить чтобы получить подобную строку? Вот лишь некоторые из них:
Часть шагов тут требует новых для нас знаний, поэтому мы их опустим. Остальные шаги будут выглядеть примерно так:
// Название введенное пользователем. Для простоты на английском
var name = " How match is the fish? ";
// вырезаем концевые пробелы
name = name.trim();
// Удаляем вопрос
name = name.replace("?", "");
// Заменяем пробелы на дефис
name = name.replace(" ", "-");
// Переводим в нижний регистр
name = name.toLowerCase();
System.out.println(name); // => "how-match-is-the-fish"
Если внимательно посмотреть на этот код, то можно заметить общий шаблон. Метод возвращает данные, которые мы присваиваем переменные и дальше, по цепочке, обрабатываем. Этот шаблон можно упростить, убрав промежуточное перезаписывание переменной:
var name = " How match is the fish? ";
name = name.trim().replace("?", "").replace(" ", "-").toLowerCase();
System.out.println(name); // => "how-match-is-the-fish"
Благодаря тому, что каждый метод возвращает новую строку, мы можем продолжать обрабатывать её, вызывая методы подряд. Если цепочка методов становится слишком длинной, то её можно разбить на несколько строк:
name = name.trim()
.replace("?", "")
.replace(" ", "-")
.toLowerCase();
https://replit.com/@hexlet/java-basics-methods-chain
Несмотря на удобство этого механизма, им не стоит злоупотреблять. Промежуточные переменные могут упростить понимание кода.
Вам ответят команда поддержки Хекслета или другие студенты.
Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Загляните в раздел «Обсуждение»:
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт