Juick
Discuss
Discover
Login
teferi
1 decade ago
Ruby
?
Как проверить — передали ли мне блок в функцию и могу ли я yield'ить или не передали?
Recommend
Replies (10)
yuroker
1 decade ago
@teferi
, явно указать что вы ждете блока def func(&block)
/1 ·
Reply
teferi
1 decade ago
@yuroker
, не, это не интересно. и понятно. к тому же в этом случае yield не работает если я правильно понимаю и надо делать block.call
/2 in reply to
/1
·
Reply
teferi
1 decade ago
@yuroker
, я уже нашел =) yield if block_given?
/3 in reply to
/1
·
Reply
yuroker
1 decade ago
@teferi
, а какая разница?
/4 in reply to
/2
·
Reply
yuroker
1 decade ago
@teferi
, хотя за лазейку, конечно, спасибо
/5 in reply to
/3
·
Reply
teferi
1 decade ago
@yuroker
, а какая разница — если вызвать ['a','b'].each и передать туда блок или ничего не передавать? Вот и тут такая же разница =)
/6 in reply to
/4
·
Reply
yuroker
1 decade ago
@teferi
, я не понял, к чему вы ведете. При явном указании блока в параметрах, он не является обязательным параметром, если что...
/7 in reply to
/6
·
Reply
teferi
1 decade ago
@yuroker
, я веду к тому что хочу понять как работает тот же each и как написать свой такойже с опциональным блоком. Он в случае если блок есть исполняет его для каждого елемента а если нет — возвращает итератор по массиву
/8 in reply to
/7
·
Reply
yuroker
1 decade ago
@teferi
, Ну дык это жеж разжовано в доках Enumerable::Enumerator
/9 in reply to
/8
·
Reply
teferi
1 decade ago
@yuroker
, ок =)
/10 in reply to
/9
·
Reply