У многих языков программирования уже есть составные утверждения +=
, -=
, /=
и т.д. Относительно новый стиль программирования - это "цепочка" вызовов метода друг на друга, например. в Linq, JQuery и ORM Django.
Я иногда, чаще, чем мне хотелось бы, нашел необходимость сделать это в Django:
# Get all items whose description beginning with A
items = Items.objects.filter(desc__startswith='A')
if something:
# Filter further to items whose description also ends with Z
items = items.filter(desc__endswith='Z')
Я думаю, что было бы проще и на самом деле более читаемым, если бы существовал составной вызов вызова метода, например .=
, который мог бы работать следующим образом:
items = Items.objects.filter(desc__startswith='A')
if something:
items .= filter(desc__endswith='Z')
- Есть ли языки программирования, которые поддерживают это или что-то вроде этого?
- Если ответ отрицательный, почему бы и нет?
- Является ли этот стиль программирования действительно новым?
- Есть ли какие-либо PEP (предложения по улучшению Python), которые поддерживают эту идею?