Re[8]: IDE: критерий универсальности ЯП? :)
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 08.12.05 21:50
Оценка:
Здравствуйте, Gaperton, Вы писали:

E>>Умный термин "замыкания лексического контекста". Даже не знаю о чем это.

G>Определенно, это становится модным — не знать основных терминов, принятых в языках программирования.

Да, воинствующая безграмотность. Не знаниями, а нахрапом.
Методом brute force много чего достичь можно

Я проиронизировал по поводу термина, потому что, имхо, его можно было проинтерпритировать несколькими способами:
-- что будет доступно lambda из контекста вызывающий функции;
-- что будет доступно внутри lambda и будут ли сохраняться эти значения от вызова к вызову;
-- какое влияние выход из lambda будет оказывать на вызывающий контекст.

G>Об этом теперь принято заявлять с гордостью, вместо того, чтобы потратить 5 минут на чтение википедии. Так, штоли?


Это про вот это: http://en.wikipedia.org/wiki/Lexical_closure ?

А почему ты думаешь, что я не читал?
Кстати, в Ruby с этим довольно хитро дело обстоять может: Re[5]: Следующий язык программирования
Автор: eao197
Дата: 26.09.05


E>>Разница в том, как отрабатывает оператор break внутри обычного (raw) code block и внутри lambda. Тонкое различие, но его незнание может дорого обойтись.


G>Если бы вы знали, что такое лямбда-функции и лексические замыкания (lexical closures), то это различие не показалось бы вам "тонким" даже при первом чтении мануала по языку.


Возможно.
Тогда, вероятно, легко предугадать результаты работы в следующем примере:
def test_block &b
    b.call "a", "b"
    puts "done"
end

def test_lambda l
    l.call "a", "b"
    puts "done"
end

test_block { |x,y| puts x + y; break }
test_lambda Proc.new { |x,y| puts x + y; break }
test_lambda lambda { |x,y| puts x + y; break }






Прав был VladD2, на "вы" здесь переходят только при выяснении отношений.

G>Возвращаясь к нашим автомобильным аналогиям — это примерно то же самое, что перепутать бензобак с расширительным бачком системы охлаждения. Незнание тонкого различия между ними тоже может дорого обойтись.


А я не автомобилист, эта аналогия мне ровно ничего не сказала
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.