Я прекрасно знаю разницу между блоком и функцией. В контексте данного разговора это не принципиально, или я что-то не понял? Но я так и не понял чего нет в Perl, что есть в JS.
17 октября 2012 г., 19:26 пользователь Akzhan Abdulin < [email protected]> написал: > Никита, блок и функция - разные вещи. Не стоит их путать. Что в Ruby, что > в Perl. Хотя очень похожи (возможно преобразование). > > Например, операторы return, next будут работать по-разному. > > Только в JavaScript нет явных блоков, а лишь функции, которые всегда > являются замыканиями. Соответственно, поведение более жёстко прописано. > > Именно поэтому блочный yield в Ruby сводится к обычному fn.call(this, > arguments...) или проще, если ранее выполнен bind. > > При этом yield позволяет передать набор параметров. > > На деле не проверял, работает ли в Perl @_ правильно при передаче блока в > функцию с прототипом &. > > 17 октября 2012 г., 18:34 пользователь Nikita Zubkov > <[email protected]>написал: > >> 17 октября 2012 г., 13:20 пользователь Akzhan Abdulin < >> [email protected]> написал: >> >>> Речь не о том yield, что в генераторах, хотя он уже включен в JavaScript >>> 1.7 и ожидается позднее в стандарте ECMAScript. >> >> Да, речь не о том yield. >> >> Речь о том, что в Perl является вызовом подпрограммы по её ссылке. >>> >> Ну так в JS тоже самое. Где в JS что либо близкое по синтаксису к yield? >> И вообще в ruby yield всего лишь сахар над вызовом блока (читай функции). >> >> -- >> С уважением, >> Никита Зубков >> >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org >> >> > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > > -- С уважением, Никита Зубков
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
