Я прекрасно знаю разницу между блоком и функцией. В контексте данного
разговора это не принципиально, или я что-то не понял?
Но я так и не понял чего нет в 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

Ответить