Здравствуйте, rg45, Вы писали:
R>Ну вот не нравится, и все тут. Не для того аккумулятор покупали, чтоб капусту солить
Да вроде нормальное решение — обычная вложенная функция. Они бывают очень кстати как раз для уменьшения ненужной сложности: не засоряется scope файла. До лямбд было совсем не то: или изгаляться с макросами, или с локальными классами-функторами, которые громоздки и не имеют автоматического доступа к локальным переменным объемлющей функции; поэтому обычно и не заморачивались.
В Go, конечно, это делается элегантнее:
func something() {
inc := func(x int) int { return x + 1 }
i := 1
fmt.Println(inc(i)) // prints 2
}