Re[7]: Внутренние функции класса
От: Kswapd Россия  
Дата: 20.01.19 10:36
Оценка: +1
Здравствуйте, rg45, Вы писали:

R>Ну вот не нравится, и все тут. Не для того аккумулятор покупали, чтоб капусту солить


Да вроде нормальное решение — обычная вложенная функция. Они бывают очень кстати как раз для уменьшения ненужной сложности: не засоряется scope файла. До лямбд было совсем не то: или изгаляться с макросами, или с локальными классами-функторами, которые громоздки и не имеют автоматического доступа к локальным переменным объемлющей функции; поэтому обычно и не заморачивались.

В Go, конечно, это делается элегантнее:
func something() {
    inc := func(x int) int { return x + 1 }
    i := 1
    fmt.Println(inc(i)) // prints 2
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.