Никита, блок и функция - разные вещи. Не стоит их путать. Что в 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
