LINUX.ORG.RU

Ответ на: комментарий от stevejobs


for (i=100500; i<0.intMax();i++) {
    buffer.add(i.integral(i.inv()));
}
Закапать таких кодеров.

moscwich
() автор топика
Ответ на: комментарий от stevejobs

Конечно, в таком грёбаном случае запихивание функции в переменную выглядит вполне нормально и логично. Но я до такого извращения никогда не додумаюсь - функции должны быть функциями, они нужны для того, чтобы не разводить копипасту, которую не удобно редактировать и которая мешает пониманию.

moscwich
() автор топика
Ответ на: комментарий от moscwich

функции в переменную выглядит вполне нормально и логично. Но я до такого извращения никогда не додумаюсь - функции должны быть функциями

Экий ты тугой. Классический пример тупой неграмотной упёртости. Функции в js это объекты первого класса, оформление их в виде переменных, это естественно в этом языке. Но самое главное не это, а то, что существует понятие контекста выполнения и если ты в заданном контексте оформляешь функцию как function foo() { ... }, она начинает принадлежать глобальному контексту, и как правило - затирать чей-то код в глобальном контексте - это совсем не то, что надо.

Reaper ★★
()
Ответ на: комментарий от Reaper

> Экий ты тугой. Классический пример тупой неграмотной упёртости.

Знаешь чем упёртость отличается от рациональности?
Упёртый уверен, а рационалист предполагает.
Ни тот ни другой обычно не заявляют, что именно уверены, или именно предполагают, они просто высказывают мысль. Так вот, я, как правило, не упёрт, а рационален. Предполагаю ровно до тех пор, пока не убежусь в верности предположения, либо в его неверности, а равно (за редким исключением) в верности другой мысли.

> затирать чей-то код в глобальном контексте

moscwich
() автор топика
Ответ на: комментарий от moscwich

> ООП - это вид структурного программирования

ООП - вид программирования, когда вы используете понятия инкапсуляция, полиморфизм и наследование. Вас интересует первое... инкапсуляция.

А вообще, RTFM. почитайте любую книжку по ООП. или по python/js (там это тоже по идее есть).

Если вас интересует только структурное или функциональное программирование, чем вас не устраивает вызов функции в виде my_function(my_object,arg1,arg2,...)? зачем весь этот выпендрёж в виде my_object.my_function(arg1,arg2,...)? Результат то, я, как понимаю, в вашем случае, одинаковый?..

BattleCoder ★★★★★
()
Ответ на: комментарий от BattleCoder

ООП - вид программирования, когда вы используете понятия инкапсуляция, полиморфизм и наследование.

А что если я использую только делегирование, вообще не использую инкапсуляцию, и что значит полиморфизм в контексте динамических языков? Получается, это уже не ООП? ШОК!

baverman ★★★
()
Ответ на: комментарий от baverman

Товарисчъ, я не назвал полное определение (я его попросту не помню), его можете найти в любых книжках по ООП или в википедии...

Да и пузон (не знаю как жабаскрипт) не только ООП-язык, он же мультипарадигменный, да.

BattleCoder ★★★★★
()
Ответ на: комментарий от BattleCoder

Товарисчъ, я не назвал полное определение

Однако привел в пример мало относящиеся к делу баззворды.

И пузон здесь не при чем.

baverman ★★★
()
Ответ на: комментарий от baverman

и что значит полиморфизм в контексте динамических языков?

ad-hoc полиморфизм же


(defmethod foo ((x bar))
  do-something)

(defmethod foo ((x baz))
  do-something-else)
korvin_ ★★★★★
()
Ответ на: комментарий от korvin_

А еще, не раз замечал, что большинство, повторяющих эту мантру про основы ООП, под инкапсуляцией понимают наличие ключевого слова «private» :)

baverman ★★★
()
Ответ на: комментарий от BattleCoder

Кстати, в JS, я так понял, аргументы не изменяются через функции, так что выпендреж приобретает практический смысл.

moscwich
() автор топика
Ответ на: комментарий от moscwich

> аргументы не изменяются через функции, так что выпендреж приобретает практический смысл.

Быть может, чтобы переменные менялись - нужно передавать ссылки на них?

BattleCoder ★★★★★
()
Ответ на: комментарий от baverman

> А еще, не раз замечал, что большинство, повторяющих эту мантру про основы ООП, под инкапсуляцией понимают наличие ключевого слова «private» :)

Быть может всё-таки стоит читать научиться? http://ru.wikipedia.org/wiki/Инкапсуляция_(программирование)

BattleCoder ★★★★★
()
Ответ на: комментарий от baverman

Тонко =) А вообще-то я вас имел ввиду, а не себя. уж меня то научили ещё давно.

BattleCoder ★★★★★
()
Ответ на: комментарий от BattleCoder

Лучше английский вариант читай. Там не зациклились на private.

dave ★★★★★
()
Ответ на: комментарий от Reaper

> если ты в заданном контексте оформляешь функцию

как function foo() { ... }

она начинает принадлежать глобальному контекст



В JavaScript? Можно пример? А то я может не так понял...

archimag ★★★
()
Ответ на: комментарий от moscwich

> function foo() { ... }

А китайцы пишут

var foo = function () { ... }



В javascript это одно и тоже. А пример я просил насчёт там какого-то там перекрытия в глобальном контексте или что-то типа того.

archimag ★★★
()
Ответ на: комментарий от archimag

> function foo() { ... }

var foo = function () { ... }

В javascript это одно и тоже.

Это где там одно и то же?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.