Следующий шаблон соответствует только первому элементу
{a, b, c, d, e} /. {start : ___, x_, stop : ___} :> {start, 1, stop}
Как мне сделать так, чтобы он соответствовал всем элементам списка?
ОБНОВИТЬ:
Чуть более расширенная версия моей цели состоит в том, чтобы иметь набор из трех правил преобразования для разных элементов списка. Одно правило должно применяться к первому элементу, одно к последнему элементу и еще одно правило к каждому элементу в середине. Вот пример:
{a, b, c, d, e} /. {most : Repeated[_], x_} ->
{most, "Last"} /. {x_, rest : Repeated[_]} -> {"First", rest}
Это правила для первого и последнего элемента. Теперь мне нужно правило для всех элементов в середине. Отсюда мой первоначальный вопрос.
Я, вероятно, выбрал неправильный подход, потому что я не могу найти простой способ сделать это. Можно ли это сделать с помощью правил?