Цитата: Rusiok от января 18, 2015, 22:53Не совсем в рамках этой аналогии, но вот что-то вроде...
А можете, в рамках Вашей аналогии, пояснить лямбда-функцию?
Цитата: Алексей Гринь от января 18, 2015, 20:24А можете, в рамках Вашей аналогии, пояснить лямбда-функцию?
можно провести аналогию, что вызов функции создатьОкно() есть императив, а функция без скобок — создатьОкно — своего рода инфинитив
Цитата: Bhudh от января 18, 2015, 21:26Равенство - метод (если говорить в парадигме Гринь-скрипта), возвращающий булево значение. Присвоение возвращает собственно присвоенное значение (ну, или ошибку). Разница как между словосочетанием и предикативным сочетанием.Цитата: Алексей Гринь от января 18, 2015, 20:34нельзя говорить, что x=foo() есть равенство, потому что это не так. Это динамические приравниваниеЦитата: Bhudh от января 18, 2015, 15:46В момент исполнения
Цитата: Алексей Гринь от января 18, 2015, 20:34нельзя говорить, что x=foo() есть равенство, потому что это не так. Это динамические приравнивание
Цитата: Bhudh от января 18, 2015, 15:46В момент исполнения
Цитата: Jumis от января 18, 2015, 20:28Фу.
Гринь, может, лучше на Хабру со всем этим?
Цитата: Bhudh от января 18, 2015, 20:30Ну замени инфинитив на герундий. First-class function objects/functors - это по сути программистский аналог герундиев.
А чего сразу существительным-то? У инфинитива тоже могут быть свои свойства: вид, время там, а то и залог...
Это в императиве их чаще всего не бывает.
Цитата: Bhudh от января 18, 2015, 20:27В том-то и дело, что нечистые функции могут возвратить то 5, то 3, то ещё чего. Самая переменная x может менять своё значение. Поэтому нельзя говорить, что x=foo() есть равенство, потому что это не так. Это динамические приравнивание, а не статическое отношение равенства.
Результат вызова foo(), равный 5, ничем не отличается в каком-либо выражении от значения переменной foo, равного 5.
Страница создана за 0.027 сек. Запросов: 20.